首页 > 代码库 > 算法之选择排序算法
算法之选择排序算法
思路:
选择排序每次迭代都在寻找剩下的数组元素中的最小值(最大值),依次拿数组中的一个元素和剩下的元素进行比较。然后把该极值移动到数组的另一边。
原始数组: 5 9 4 6 7 3 2
一次迭代: 2 9 4 6 7 3 5
2 3 4 6 7 9 5
2 3 4 6 7 9 5
2 3 4 5 7 9 6
2 3 4 5 6 9 7
2 3 4 5 6 7 9
template< class T > void selectSort( T Data[], int iLength ) { for( int i = 0; i < iLength; i++ ) { int iMinIndex = i; for (int n= i + 1; n< iLength; n++) { if( Data[n] < Data[iMinIndex] ) { iMinIndex = n; //记录当前最小值的索引 } } swap( Data[iMinIndex], Data[i]); //移送极值 } }
算法之选择排序算法
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。