C 資料結構之選擇排序(三)

2021-09-26 21:50:20 字數 684 閱讀 1194

選擇排序是氣泡排序的改進!

選擇排序:讓陣列中未排序的第乙個數,依次與後面的數進行比較,如果前面的數大於後面的數,就進行位置的交換。即第乙個數依次與後面的數比較,比較完之後最小的數在最前面(先標記一輪比較完後再交換位置),然後從第二個數開始以此類推,直至倒數第二個數為止。

如下圖所示

c++**如下

#include 

using namespace std;

void

selectsort

(int *a,

const int n)

;int main()

;selectsort

(x,10);

for(int k=

0; k<

10; k++

) cout << x[k]

<< endl;

return0;

}void

selectsort

(int *list,

const int n)

swap

(list[i]

,list[min]);

}}

資料結構排序系列之選擇排序(三)

選擇排序有直接選擇排序和堆排序。基本思想 每一趟在待排序的記錄中選出關鍵字最小的元素,依次存放在已排好序的序列的最後。直到所有元素都好排好序為止。演算法思想 每次從待排序的無序區中選出關鍵字最小的元素,將該元素與該無序區中的第乙個元素交換位置。初始時,從 0 n 1 選出乙個關鍵字最小的元素,與r ...

資料結構之選擇排序

基本方法 從0索引開始,依次和後面元素比較,小的往前放,第一次完畢,最小值出現在了最小索引處,第二次找到第二小的值。具體是如何實現呢?第一輪是0索引上的資料依次跟後面各個索引上的資料進行比較,直到遇到乙個比它小的資料,這時候,這個小的資料就替換掉0索引上原來的資料,接著這個替換掉的資料繼續跟它原來的...

資料結構之選擇排序

選擇排序應該是最容易實現的一種排序方法,其原理很簡單,依舊分為兩塊資料,左邊選取資料與右邊的資料進行比較,取最小值,比較到最後的位置後交換資料,確保每一次比較中最小值都會調整到左邊並有序增加,實質上就是取最小值的函式,只不過外層包了乙個迴圈。void selectionsort int arr,in...