Author: bakari Date: 2012.7.30
排序算法有很多种,每一种在不同的情况下都占有一席之地。关于排序算法我分“经典排序之”系列分别述之。本篇为选择排序。
这个算法没甚么好说的。看代码:
1 /******************************************************************* 2 * Author: bakari Date:2012.7.30 3 * 简单的选择排序( < ) 4 * 算法重点:找到一个序列中最小的点然后记录下下标,然后与未排序的第一个数交换 5 *******************************************************************/ 6 void SelectSort::Select_Sort() 7 { 8 for (int i = 0;i != len - 1; ++i) 9 { 10 int mindex = i; 11 for (int j = i + 1; j != len; ++j) 12 { 13 if(SelectList[j] < SelectList[i]) 14 mindex = j; 15 } 16 if (i != mindex) //如果第i个数就是最小数,则不用交换 17 Swap(i,mindex); 18 } 19 }