資料結構 直接選擇排序

2021-10-02 01:31:35 字數 684 閱讀 3051

直接選擇排序(straight select sorting) 也是一種簡單的排序方法,它的基本思想是:第一次從r[0]~r[n-1]中選取最小值,與r[0]交換,第二次從r[1]~r[n-1]中選取最小值,與r[1]交換,....,第i次從r[i-1]~r[n-1]中選取最小值,與r[i-1]交換,.....,第n-1次從r[n-2]~r[n-1]中選取最小值,與r[n-2]交換,總共通過n-1次,得到乙個按排序碼從小到大排列的有序序列。

最佳情況:t(n) = o(n2)

最差情況:t(n) = o(n2)

平均情況:t(n) = o(n2)

**:

void selectsort(int *arr,int len)

}if(min!=i) //最小元素與第i個元素互換位置

}}int main()

; int len=sizeof(a)/sizeof(int);

selectsort(arr,len);

printf("選擇排序結果:");

for (int i = 0; i < len; i++)

printf("\n");

return 0;

}

資料結構 直接選擇排序

直接選擇排序和直接插入排序有點類似,因為在整個排序過程中都將資料分為有序區和無序區,不同的是直接插入排序是將無序區的第乙個元素直接插入到有序區中合適位置以形成乙個更大的有序區,剛開始認為有序區的長度為1,而直接選擇排序是從無序區選乙個最小的元素直接放到有序區的最後,剛開始認為它的有序區長度為0。設待...

資料結構 選擇排序(直接選擇 堆排序)

1 選擇排序的基本思想 每一次從待排序的資料元素中選出最小 或最大 的乙個元素,存放在序列的起始位置 或末尾 直到全部待排序的資料元素排完。選擇排序可分為直接選擇排序 堆排序。2 直接選擇排序 2.1 演算法步驟 1.在元素集合array i array n 1 中選擇關鍵碼最大 小 的資料元素 2...

資料結構 排序 選擇排序 直接選擇排序法

直接選擇排序 straight selection sort 直接選擇排序的基本思想 n個記錄的檔案的直接選擇排序可經過n 1趟直接選擇排序得到有序結果 初始狀態 無序區為r 1.n 有序區為空。第1趟排序 在無序區r 1.n 中選出關鍵字最小的記錄r k 將它與無序區的第1個記錄r 1 交換,使r...