選擇排序是氣泡排序的改進!
選擇排序:讓陣列中未排序的第乙個數,依次與後面的數進行比較,如果前面的數大於後面的數,就進行位置的交換。即第乙個數依次與後面的數比較,比較完之後最小的數在最前面(先標記一輪比較完後再交換位置),然後從第二個數開始以此類推,直至倒數第二個數為止。
如下圖所示
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...