[算法]-选择排序

   1.核心思想:每次查询出未排序序列元素中的最值元素(最大或最小值),然后与已排序元素的后一个元素交换位置,以此类推执行n-1次,既完成了排序;

   2.特点:稳定,时间复杂度O(n^2)

   3. c代码

 1 void select_sort(int arry[], int size){
 2     int i,j;
 3     for(i=0 ; i<size-1 ; i++){
 4         int min=i;
 5         for(j=i+1; j<size; j++){
 6             if(arry[j]< arry[min]){
 7                 min=j;
 8             }
 9         }
10         // 当min 不等于i时,才需要交换元素位置
11         if(min!=i){
12             swap( &arry[min], &arry[i] );
13         }
14     }
15 }

 

posted @ 2021-11-28 18:28  朝花不夕拾  阅读(30)  评论(0编辑  收藏  举报