码迷,mamicode.com
首页 > 编程语言 > 详细

算法之选择排序算法

时间:2017-05-30 21:54:31      阅读:169      评论:0      收藏:0      [点我收藏+]

标签:oid   div   ++   for   template   元素   blog   思路   wap   

思路:

  选择排序每次迭代都在寻找剩下的数组元素中的最小值(最大值),依次拿数组中的一个元素和剩下的元素进行比较。然后把该极值移动到数组的另一边。

原始数组: 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]);  //移送极值
    }    
    
}

  

 

     

     

算法之选择排序算法

标签:oid   div   ++   for   template   元素   blog   思路   wap   

原文地址:http://www.cnblogs.com/MrZhang1/p/6921438.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!