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 }