=================================版权声明=================================

版权声明:本文为博主原创文章 未经许可不得转载 

请通过右侧公告中的“联系邮箱(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 }