選擇排序 簡單選擇排序

2021-07-30 23:43:33 字數 600 閱讀 3843

在要排序的一組數中,選出最小(或者最大)的一

個數與第1個位置的數交換;

然後在剩下的數當中再找最小(或者最大)的與第2個位置的數交換,依次類推,直到第n-1個元素(倒數第二個數)和第n個元素(最後

乙個數)比較為止。

第一趟,從n 個記錄中找出關鍵碼最小的記錄與第乙個記錄交換;

第二趟,從第二個記錄開始的n-1 個記錄中再選出關鍵碼最小的記錄與第二個記錄交換;

以此類推.....

第i 趟,則從第i 個記錄開始的n-i+1 個記錄中選出關鍵碼最小的記錄與第i 個記錄交換,

直到整個序列按關鍵碼有序。

public static void main(string args) ;

int n=a.length;

int min =0,temp;

for(int i=0;ia[j])

}//把最小數值放到前邊

temp=a[min];

a[min]=a[i];

a[i]=temp;

} for(int i=0;i

時間複雜度:最壞時間複雜度o(n^2),平均時間複雜度o(n^2)

簡單選擇排序是不穩定的,例如

選擇排序 簡單選擇排序

在要排序的一組數中,選出最小 或者最大 的乙個數與第1個位置的數交換 然後在剩下的數當中再找最小 或者最大 的與第2個位置的數交換,依次類推,直到第n 1個元素 倒數第二個數 和第n個元素 最後乙個數 比較為止。第一趟,從n個記錄中找出關鍵碼最小的記錄與第乙個記錄交換 第二趟,從第二個記錄開始的n ...

選擇排序 簡單選擇排序

1.選擇排序 簡單選擇排序,堆排序 與交換排序 氣泡排序,快速排序 的區別 每次比較如果發現較小的元素在後面,就交換兩個相鄰的元素。而選擇排序演算法的改進在於 先並不急於調換位置,先從a 1 開始逐個檢查,看哪個數最小就記下該數所在的位置p,等一躺掃瞄完畢,再把a p 和a 1 對調,這時a 1 到...

選擇排序 簡單選擇排序

簡單選擇排序,大概是這麼個思路,比如一串數字 1 5 6 4 想要把它們進行排序 這裡以從小到大為例 可以用這種方式,給它們標上下標,0 1 2 3 先是arr 0 arr min 把陣列中第乙個作為最小值,然後前乙個數和後乙個數作比較,1和5比,5比1大不變,1和6比不變,1和4比不變,所以第一步...