1、選擇排序基本思想
每一趟從待排序的記錄中找出最小記錄,順序放在已排好序的子檔案最後,直到全部記錄排序完畢。
2、直接選擇排序基本思想
n個記錄的檔案的直接選擇排序可經過n-1趟直接選擇排序得到有序結果:
①初始狀態:無序區為r[1..n],有序區為空。
②第1趟排序
在無序區r[1..n]中選出關鍵字最小的記錄r[k],將它與無序區的第1個記錄r[1]交換,使r[1..1]和r[2..n]分別變為記錄個數增加1個的新有序區和記錄個數減少1個的新無序區。……
③第i趟排序
第i趟排序開始時,當前有序區和無序區分別為r[1..i-1]和r[i..n](1≤i≤n-1)。該趟排序從當前無序區中選出關鍵字最小的記錄r[k],將它與無序區的第1個記錄r[i]交換,使r[1..i]和r[i+1..n]分別變為記錄個數增加1個的新有序區和記錄個數減少1個的新無序區。
這樣,n個記錄的檔案的直接選擇排序可經過n-1趟直接選擇排序得到有序結果。
注意:直接選擇排序是不穩定的排序
3、**實現
public class selectsort ;
int i,j,k;
system.out.println("排序前的記錄順序");
for(i = 0; i < keyboards.length; i++)
system.out.println();
for(i = 0; i < keyboards.length; i++)
} system.out.println("排序後的記錄順序");
for(i = 0; i < keyboards.length; i++)
}}
選擇排序 直接選擇排序
演算法思想 在每一趟的排序中,從待排序列中選出關鍵字最小或者最大的元素放在其最終的位置上 過程分析 在第i趟直接排序中,通過n i次關鍵字的比較,從n i 1個元素中選出關鍵字最小的元素 與第i個元素進行交換。經過n 1趟比較,直到表有序為止 效能分析 時間複雜度o n 2 include defi...
選擇排序 直接選擇排序
直接選擇排序也成為簡單選擇排序。對於乙個待排序數列,每次從無序區選擇乙個最小的元素,放入有序區 初始時有序區為空 直到無序區元素只有乙個 即整個數列的最大值 具體操作 第i趟排序開始,數列分為有序區a 0,i 1 和無序區a i,n 1 從無序區中選擇最小元素a k 將a k 放在無序區的最左邊的位...
選擇排序 直接選擇排序
直接選擇排序 straight select sorting 也是一種簡單的排序方法,它的基本思想是 第一次從r 0 r n 1 中選取最小值,與r 0 交換,第二次從r r n 1 中選取最小值,與r 1 交換,第i次從r i 1 r n 1 中選取最小值,與r i 1 交換,第n 1次從r n ...