選擇排序也是一種較為簡單的排序算法,算法時間復雜度為O(N2)。
選擇排序的思想是:從未排序的數列中找到最小的元素,將其存放在對頭,再從其余的元素中找到最小的元素,放到已排序數列的末尾,依次遍歷。
圖解:

代碼:
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 }
浙公網安備 33010602011771號