亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? sortdlg.cpp

?? 用Visual C++實現排序算法大全
?? CPP
?? 第 1 頁 / 共 2 頁
字號:
					strNum.Format("%d",sortObject[objectName[j]].iNumber);	
				}
				dc.TextOut(objectCoord[sortObject[objectName[j]].iSeq].x-15,
					objectCoord[sortObject[objectName[j]].iSeq].y-30,
					strNum);
				
				TRACE("\n");			
				for(int w=0;w<SORT_OBJECT_NUM;w++)
				{
					TRACE("%d ",sortObject[objectName[w]].iNumber);
				}
				//延遲1S進行下一輪排序以便于動畫顯示
				Sleep(1000);				
			} 
		} 
	} 	
}

void CSortDlg::OnExchangeSort() 
{
	CClientDC dc (this) ;
	dc.SetBkColor(RGB(100,100,255));
	dc.FillRect(&CRect(0,0,250,150),&CBrush(RGB(100,100,255)));
	int objectName[SORT_OBJECT_NUM]; //每個位置對應的待排序對象名
	//初始化每個位置對應的待排序對象名
	for(int i=0;i<SORT_OBJECT_NUM;i++)
	{
		objectName[i] = i;
	}
	TRACE("\n");			
	for(int w=0;w<SORT_OBJECT_NUM;w++)
	{
		TRACE("%d ",sortObject[objectName[w]].iNumber);
	}
	//交換排序
	for(i=0;i<SORT_OBJECT_NUM;i++) 
	{ 
		for(int j=i+1;j<SORT_OBJECT_NUM;j++) 
		{ 
			
			if(sortObject[objectName[j]].iNumber < sortObject[objectName[i]].iNumber) 
			{ 				
				//交換序號
				int iTemp;
				iTemp = sortObject[objectName[j]].iSeq; 
				sortObject[objectName[j]].iSeq = sortObject[objectName[i]].iSeq; 
				sortObject[objectName[i]].iSeq = iTemp; 
				//交換對象名
				iTemp = objectName[j];
				objectName[j] = objectName[i];
                objectName[i] = iTemp;
                //顯示變化
				CString strName;
				CString strNum;				
				//顯示j位置的對象
				strName.Format("%d",sortObject[objectName[j]].iName);		
				dc.TextOut(objectCoord[sortObject[objectName[j]].iSeq].x-5,
					objectCoord[sortObject[objectName[j]].iSeq].y-8,
					strName);
				if(sortObject[objectName[j]].iNumber<1000)
				{				
					strNum.Format("  %d",sortObject[objectName[j]].iNumber);
				}
				else
				{
					strNum.Format("%d",sortObject[objectName[j]].iNumber);
				}
				dc.TextOut(objectCoord[sortObject[objectName[j]].iSeq].x-15,
					objectCoord[sortObject[objectName[j]].iSeq].y-30,
					strNum);
				//顯示i位置的對象
				strName.Format("%d",sortObject[objectName[i]].iName);		
				dc.TextOut(objectCoord[sortObject[objectName[i]].iSeq].x-5,
					objectCoord[sortObject[objectName[i]].iSeq].y-8,
					strName);
				if(sortObject[objectName[i]].iNumber<1000)
				{
					strNum.Format("  %d",sortObject[objectName[i]].iNumber);		
				}
				else
				{
					strNum.Format("%d",sortObject[objectName[i]].iNumber);	
				}
				dc.TextOut(objectCoord[sortObject[objectName[i]].iSeq].x-15,
					objectCoord[sortObject[objectName[i]].iSeq].y-30,
					strNum);
				
				TRACE("\n");			
				for(int w=0;w<SORT_OBJECT_NUM;w++)
				{
					TRACE("%d ",sortObject[objectName[w]].iNumber);
				}
				//延遲1S進行下一輪排序以便于動畫顯示
				Sleep(1000);				
			} 
		} 
	} 	
}

void CSortDlg::OnSelectionSort() 
{
	CClientDC dc (this) ;
	dc.SetBkColor(RGB(100,100,255));
	dc.FillRect(&CRect(0,0,250,150),&CBrush(RGB(100,100,255)));
	int objectName[SORT_OBJECT_NUM]; //每個位置對應的待排序對象名
	//初始化每個位置對應的待排序對象名
	for(int i=0;i<SORT_OBJECT_NUM;i++)
	{
		objectName[i] = i;
	}
	TRACE("\n");			
	for(int w=0;w<SORT_OBJECT_NUM;w++)
	{
		TRACE("%d ",sortObject[objectName[w]].iNumber);
	}
	//選擇排序
	for(i=0;i<SORT_OBJECT_NUM;i++) 
	{ 
		int iPos;
		iPos = i;
		for(int j=i+1;j<SORT_OBJECT_NUM;j++) 
		{ 
			if(sortObject[objectName[j]].iNumber < sortObject[objectName[iPos]].iNumber) 
			{
				iPos = j;
			}
		}
		if(iPos!=i)
		{
			//交換序號
			int iTemp;
			iTemp = sortObject[objectName[iPos]].iSeq; 
			sortObject[objectName[iPos]].iSeq = sortObject[objectName[i]].iSeq; 
			sortObject[objectName[i]].iSeq = iTemp; 
			//交換對象名
			iTemp = objectName[iPos];
			objectName[iPos] = objectName[i];
			objectName[i] = iTemp;
			//顯示變化
			CString strName;
			CString strNum;				
			//顯示iPos位置的對象
			strName.Format("%d",sortObject[objectName[iPos]].iName);		
			dc.TextOut(objectCoord[sortObject[objectName[iPos]].iSeq].x-5,
				objectCoord[sortObject[objectName[iPos]].iSeq].y-8,
				strName);
			if(sortObject[objectName[iPos]].iNumber<1000)
			{				
				strNum.Format("  %d",sortObject[objectName[iPos]].iNumber);
			}
			else
			{
				strNum.Format("%d",sortObject[objectName[iPos]].iNumber);
			}
			dc.TextOut(objectCoord[sortObject[objectName[iPos]].iSeq].x-15,
				objectCoord[sortObject[objectName[iPos]].iSeq].y-30,
				strNum);
			//顯示i位置的對象
			strName.Format("%d",sortObject[objectName[i]].iName);		
			dc.TextOut(objectCoord[sortObject[objectName[i]].iSeq].x-5,
				objectCoord[sortObject[objectName[i]].iSeq].y-8,
				strName);
			if(sortObject[objectName[i]].iNumber<1000)
			{
				strNum.Format("  %d",sortObject[objectName[i]].iNumber);		
			}
			else
			{
				strNum.Format("%d",sortObject[objectName[i]].iNumber);	
			}
			dc.TextOut(objectCoord[sortObject[objectName[i]].iSeq].x-15,
				objectCoord[sortObject[objectName[i]].iSeq].y-30,
				strNum);
			
			TRACE("\n");			
			for(int w=0;w<SORT_OBJECT_NUM;w++)
			{
				TRACE("%d ",sortObject[objectName[w]].iNumber);
			}
			//延遲1S進行下一輪排序以便于動畫顯示
			Sleep(1000);				
		} 			
	}	
}

void CSortDlg::OnInsertSort() 
{
	CClientDC dc(this) ;
	dc.SetBkColor(RGB(100,100,255));
	dc.FillRect(&CRect(0,0,250,150),&CBrush(RGB(100,100,255)));
	int objectName[SORT_OBJECT_NUM]; ////每個位置對應的成員名
	//初始化每個位置對應的成員
	for(int i=0;i<SORT_OBJECT_NUM;i++)
	{
		objectName[i] = i;
	}	
	TRACE("\n");			
	for(int w=0;w<SORT_OBJECT_NUM;w++)
	{
		TRACE("%d ",sortObject[objectName[w]].iNumber);
	}
	//插入排序
	for(i=1;i<SORT_OBJECT_NUM;i++) 
	{ 
		int iPos = i-1;
		int iName = objectName[i]; 
		CString strName,strNum;
		
		while(iPos>=0 && sortObject[iName].iNumber < sortObject[objectName[iPos]].iNumber)
		{
			objectName[iPos+1] = objectName[iPos];
			sortObject[objectName[iPos]].iSeq += 1;	
			//顯示iPos+1位置的對象
			strName.Format("%d",objectName[iPos+1]);		
			dc.TextOut(objectCoord[iPos+1].x-5,
				objectCoord[iPos+1].y-8,
				strName);
			if(sortObject[objectName[iPos+1]].iNumber<1000)
			{
				strNum.Format("  %d",sortObject[objectName[iPos+1]].iNumber);		
			}
			else
			{
				strNum.Format("%d",sortObject[objectName[iPos+1]].iNumber);	
			}
			dc.TextOut(objectCoord[iPos+1].x-15,
				objectCoord[iPos+1].y-30,
				strNum);
			
			iPos--;
			Sleep(1000);	
		}
		objectName[iPos+1] = iName;
		sortObject[objectName[iPos+1]].iSeq = iPos+1;
		//顯示iPos+1位置的對象
		strName.Format("%d",objectName[iPos+1]);		
		dc.TextOut(objectCoord[iPos+1].x-5,
			objectCoord[iPos+1].y-8,
			strName);
		if(sortObject[objectName[iPos+1]].iNumber<1000)
		{
			strNum.Format("  %d",sortObject[objectName[iPos+1]].iNumber);		
		}
		else
		{
			strNum.Format("%d",sortObject[objectName[iPos+1]].iNumber);	
		}
		
		dc.TextOut(objectCoord[iPos+1].x-15,
			objectCoord[iPos+1].y-30,
			strNum);
		
		TRACE("\n");			
		for(int w=0;w<SORT_OBJECT_NUM;w++)
		{
			TRACE("%d ",sortObject[objectName[w]].iNumber);
		}
		Sleep(1000);	
	}
}

void QuickSort(int objectName[], CDC &dc, int left, int right)
{
	int i, j;
	int middle, iTemp;
	i = left;
	j = right;
	middle = sortObject[objectName[(left+right)/2]].iNumber; //求中間值
	do
	{
		while ((sortObject[objectName[i]].iNumber < middle) && (i < right)) //從左掃描大于中值的數
			i++;
		while ((sortObject[objectName[j]].iNumber > middle) && (j > left)) //從右掃描小于中值的數
			j--;
		if (i < j) //找到了一對值
		{
			//交換成員名
			iTemp = objectName[i];
			objectName[i] = objectName[j];
			objectName[j] = iTemp;
			//交換序號
			iTemp = sortObject[objectName[i]].iSeq;
			sortObject[objectName[i]].iSeq = sortObject[objectName[j]].iSeq;
			sortObject[objectName[j]].iSeq = iTemp;
			//顯示變化
			CString strName;
			CString strNum;				
			//顯示j位置的對象
			strName.Format("%d",objectName[j]);		
			dc.TextOut(objectCoord[j].x-5,
				objectCoord[j].y-8,
				strName);
			if(sortObject[objectName[j]].iNumber<1000)
			{				
				strNum.Format("  %d",sortObject[objectName[j]].iNumber);
			}
			else
			{
				strNum.Format("%d",sortObject[objectName[j]].iNumber);
			}
			dc.TextOut(objectCoord[j].x-15,
				objectCoord[j].y-30,
				strNum);
			//顯示i位置的對象
			strName.Format("%d",objectName[i]);		
			dc.TextOut(objectCoord[i].x-5,
				objectCoord[i].y-8,
				strName);
			if(sortObject[objectName[i]].iNumber<1000)
			{
				strNum.Format("  %d",sortObject[objectName[i]].iNumber);		
			}
			else
			{
				strNum.Format("%d",sortObject[objectName[i]].iNumber);	
			}
			dc.TextOut(objectCoord[i].x-15,
				objectCoord[i].y-30,
				strNum);
			
			TRACE("\n");			
			for(int w=0;w<SORT_OBJECT_NUM;w++)
			{
				TRACE("%d ",sortObject[objectName[w]].iNumber);
			}
			//延遲1S進行下一輪排序以便于動畫顯示
			Sleep(1000);		
			
			i++;
			j--;
		}
        else if (i==j)
		{
			i++;
			j--;
		}
	} while (i <= j) ; //如果兩邊掃描的下標交錯,就停止(完成一次)
	//當左邊部分有值(left<j),遞歸左半邊
	if(left<j) 
		QuickSort (objectName,dc,left,j); 
	//當右邊部分有值(right>i),遞歸右半邊
	if(right>i) 
		QuickSort (objectName,dc,i,right); 	
}

void CSortDlg::OnQuickSort() 
{	
	CClientDC dc(this) ;
	dc.SetBkColor(RGB(100,100,255));
	dc.FillRect(&CRect(0,0,250,150),&CBrush(RGB(100,100,255)));
	int objectName[SORT_OBJECT_NUM]; ////每個位置對應的成員名
	//初始化每個位置對應的成員
	for(int i=0;i<SORT_OBJECT_NUM;i++)
	{
		objectName[i] = i;
	}	
	QuickSort(objectName,dc,0,SORT_OBJECT_NUM-1);
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美日韩精品欧美日韩精品| 美国一区二区三区在线播放| 国产一区二区剧情av在线| 欧美一级一级性生活免费录像| 亚洲成精国产精品女| 91精品久久久久久久99蜜桃| 天天综合色天天| 日韩美女视频一区二区在线观看| 久久精品国产**网站演员| 91.麻豆视频| 免费精品视频在线| 久久久久久免费毛片精品| 成人免费视频app| 亚洲视频一二三| 制服丝袜亚洲播放| 国产毛片精品视频| 亚洲欧美日韩久久精品| 91麻豆精品国产91久久久久| 久久99久久精品| 国产精品激情偷乱一区二区∴| 91精品福利视频| 蜜臀av国产精品久久久久| 国产日韩欧美亚洲| 91黄色免费网站| 狠狠色狠狠色综合日日91app| 国产女人18毛片水真多成人如厕 | 欧美激情中文不卡| 欧美专区日韩专区| 精品一区二区三区av| 国产精品美女久久久久久久久久久| 在线免费观看一区| 国产一区二区三区久久悠悠色av| 国产欧美va欧美不卡在线| 欧美三级电影网站| 国产suv精品一区二区三区| 亚洲国产aⅴ成人精品无吗| 久久亚洲一级片| 在线观看日韩高清av| 国产精品一区二区91| 午夜久久久影院| 欧美国产日本韩| 日韩精品一区在线观看| 91国产免费看| 高清国产午夜精品久久久久久| 日韩成人午夜电影| 亚洲男女一区二区三区| 久久伊99综合婷婷久久伊| 欧美日韩在线不卡| 91视视频在线观看入口直接观看www| 免费欧美在线视频| 亚洲一区二区三区美女| 国产精品久久久久久亚洲伦| 欧美电影免费观看高清完整版在线观看 | 国产网站一区二区| 日韩一二三四区| 欧美日韩精品一二三区| 一本到一区二区三区| 成人一区二区在线观看| 激情综合网av| 久久精品国内一区二区三区| 亚洲第一综合色| 国产精品动漫网站| 亚洲国产成人在线| 久久久久久综合| 精品国产自在久精品国产| 6080午夜不卡| 欧美三级日韩三级| 欧美午夜影院一区| 欧洲生活片亚洲生活在线观看| 99久久精品国产麻豆演员表| 成人午夜又粗又硬又大| 国产不卡一区视频| 成人激情午夜影院| 丰满少妇久久久久久久| 国产成人无遮挡在线视频| 国产精品中文字幕日韩精品 | 国产午夜精品久久久久久免费视| 精品日韩在线一区| 欧美不卡一区二区三区四区| 日韩免费高清av| 日韩欧美aaaaaa| 精品剧情v国产在线观看在线| 日韩一二三四区| 精品少妇一区二区三区免费观看 | 久久久久久久久久美女| 久久精品免费在线观看| 久久精品网站免费观看| 国产精品水嫩水嫩| 综合精品久久久| 亚洲欧美日韩国产一区二区三区 | 欧美日韩精品免费| 日韩一区二区三区四区五区六区 | 国内精品国产成人| 国产激情偷乱视频一区二区三区| 国产精品自拍毛片| 99久久久久免费精品国产| 色综合天天综合网国产成人综合天| 91天堂素人约啪| 欧美亚男人的天堂| 日韩午夜av一区| 久久精品视频一区二区| 日韩理论片一区二区| 亚洲不卡一区二区三区| 国内精品国产成人国产三级粉色| 福利一区二区在线| 欧美丝袜自拍制服另类| 日韩免费在线观看| 国产精品色一区二区三区| 亚洲免费av高清| 日日欢夜夜爽一区| 国产精品一卡二卡| 欧美少妇性性性| 久久新电视剧免费观看| 亚洲欧洲中文日韩久久av乱码| 日韩一区欧美二区| 风流少妇一区二区| 欧美喷水一区二区| 久久精品水蜜桃av综合天堂| 一级中文字幕一区二区| 久久国产人妖系列| 99久久国产综合精品麻豆| 欧美顶级少妇做爰| 日本一区二区三级电影在线观看| 亚洲一区二区综合| 国产.欧美.日韩| 欧美一级国产精品| 亚洲女女做受ⅹxx高潮| 久久精品国产第一区二区三区| 99re热视频精品| 欧美刺激脚交jootjob| 一级日本不卡的影视| 激情深爱一区二区| 欧美又粗又大又爽| 久久精品亚洲国产奇米99| 视频在线在亚洲| 在线观看不卡视频| 中文字幕av不卡| 久久精品国产99| 欧美另类一区二区三区| 亚洲人精品一区| 国产成人一区二区精品非洲| 日韩你懂的在线观看| 亚洲福利视频一区二区| 色偷偷成人一区二区三区91| 国产午夜一区二区三区| 日韩精品视频网站| 欧美午夜影院一区| 亚洲精品日韩专区silk| jlzzjlzz亚洲女人18| 久久精品视频免费观看| 久久电影国产免费久久电影| 欧美日韩高清在线| 亚洲综合久久av| 色拍拍在线精品视频8848| 国产精品视频麻豆| 国产不卡视频一区| 国产欧美日韩一区二区三区在线观看| 日韩**一区毛片| 91.麻豆视频| 偷偷要91色婷婷| 欧美视频在线观看一区| 亚洲精品亚洲人成人网| eeuss鲁片一区二区三区在线观看| 久久久午夜精品| 国产精品18久久久久久久网站| 日韩一区二区三区视频在线观看| 日本欧美韩国一区三区| 91精品国产乱码| 日av在线不卡| 日韩欧美国产综合| 麻豆成人91精品二区三区| 精品国产一区二区三区忘忧草 | 国产精品自拍毛片| 国产午夜一区二区三区| 国产iv一区二区三区| 国产精品国产三级国产有无不卡 | 91在线你懂得| 亚洲综合激情另类小说区| 欧美日韩一区二区三区在线| 亚洲电影第三页| 日韩女优av电影| 国产激情一区二区三区四区| 国产精品三级电影| 99久久国产免费看| 亚洲高清免费在线| 日韩精品在线看片z| 国产成人一区在线| 亚洲色图19p| 欧美日韩和欧美的一区二区| 男男视频亚洲欧美| 国产亚洲一本大道中文在线| aaa欧美色吧激情视频| 亚洲美女电影在线| 欧美一区欧美二区| 国产99久久精品| 一区二区三区国产精华| 日韩欧美一级在线播放| 北岛玲一区二区三区四区| 亚洲一区二区五区| xnxx国产精品|