=================================版权声明=================================
版权声明:本文为博主原创文章 未经许可不得转载
请通过右侧公告中的“联系邮箱(wlsandwho@foxmail.com)”联系我
未经作者授权勿用于学术性引用。
未经作者授权勿用于商业出版、商业印刷、商业引用以及其他商业用途。
本文不定期修正完善,为保证内容正确,建议移步原文处阅读。 <--------总有一天我要自己做一个模板干掉这只土豆
本文链接:http://www.cnblogs.com/wlsandwho/p/4676469.html
耻辱墙:http://www.cnblogs.com/wlsandwho/p/4206472.html
=======================================================================
顺便写个小代码
1 #include "stdafx.h" 2 #include <iostream> 3 4 using namespace std; 5 6 7 int FindMin(int nArr[],int nLen,int nStartPos,int& nMinPos) 8 { 9 int nMin; 10 nMin=nArr[nStartPos]; 11 12 int i=nStartPos; 13 nMinPos=nStartPos; 14 15 while(i<nLen) 16 { 17 if (nMin>nArr[i]) 18 { 19 nMin=nArr[i]; 20 nMinPos=i; 21 } 22 23 ++i; 24 } 25 26 return nMin; 27 } 28 29 bool SelectSortByWLS(int nArr[],int nLen) 30 { 31 int i=0; 32 int nMin=-1; 33 int nTemp; 34 int nPos; 35 int nTimes=nLen-1; 36 while (i<nTimes) 37 { 38 nMin=FindMin(nArr,nLen,i+1,nPos); 39 if (nArr[i]>nMin) 40 { 41 nTemp=nArr[i]; 42 nArr[i]=nMin; 43 nArr[nPos]=nTemp; 44 } 45 46 ++i; 47 } 48 49 return true; 50 } 51 52 int _tmain(int argc, _TCHAR* argv[]) 53 { 54 // int nArray[6]={0,2,1,3,4}; 55 // int nMinPos; 56 // int nMinVal; 57 // nMinVal=FindMin(nArray,5,1,nMinPos); 58 // cout<<nMinVal<<" "<<nMinPos<<endl; 59 60 int nArray[10]={9,2,6,3,0,7,4,8,1,5}; 61 SelectSortByWLS(nArray,10); 62 63 for (int i=0;i<10;++i) 64 { 65 cout<<nArray[i]<<" "; 66 } 67 cout<<endl; 68 69 return 0; 70 }