选择排序也是一种较为简单的排序算法,算法时间复杂度为O(N²)。

选择排序的思想是:从未排序的数列中找到最小的元素,将其存放在对头,再从其余的元素中找到最小的元素,放到已排序数列的末尾,依次遍历。

图解:

代码:

 1 void SelectSort( int a[] , int n )
 2 {
 3     int i = 0 , j = 0 , min = 0;
 4     int temp = 0;
 5 
 6     for( i = 0; i < n ; i++)
 7     {
 8          min = i;
 9          for( j = i + 1 ; j < n ; j++ )
10         {
11              if( a[j] < a[min] )
12              {
13                  min = j;
14              }
15         }
16         if( min != i )
17         {
18             temp = a[min];
19             a[min] = a[i];
20             a[i] = temp;
21         }
22     }    
23 }

 

posted on 2018-03-21 17:07  菠萝有点甜  阅读(124)  评论(0编辑  收藏  举报