排序 直接選擇排序

2021-07-23 23:11:32 字數 950 閱讀 1968

選擇排序是每一次在n-i+1(i=1、2、3……n-1)個記錄中選取值最小的記錄作為有序序列的第i個記錄,它也有兩種,一種是直接選擇排序,另外一種是堆排序,本篇部落格總結的是直接選擇排序。

基本思想:在第i次選擇操作中,通過n-i次鍵值間比較,從n-i+1個記錄中選出鍵值最小的記錄,並和第i(1<=i<=n-1)個記錄交換。

類c語言描述

void selectsort(list r,int n)

; int n = r.length;

selectsort(r, n);

console.writeline("排序後陣列:");

for (int i = 0; i <= r.length - 1; i++)

console.writeline();

console.readkey();

}

private static void selectsort(int r,int n)//直接選擇排序

{ int min;

int temp;

for (int i = 0; i < n-1; i++)

{min = i;

for (int j = i+1; j < n; j++)

{if(r[j]注:

直接選擇排序演算法簡單,容易實現,但不適合n較大的情況。

各種排序對比圖

選擇排序 直接選擇排序

演算法思想 在每一趟的排序中,從待排序列中選出關鍵字最小或者最大的元素放在其最終的位置上 過程分析 在第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 ...