練手》快速排序 比較交換法

2021-09-26 21:56:34 字數 1287 閱讀 9238

//快速排序

//快速排序是比較類排序,是氣泡排序的公升級,時間複雜度o(nlog2(n))

//快速排序選定陣列中的乙個數,小的在其前面,大的在其後面

//之後該陣列前面一部分與後面一部分作為新的陣列進行排序

#include

#include

using namespace std;

intpartsort

(vector<

int>

&arr,

int l,

int r)

;void

quicksort

(vector<

int>

&arr,

int l,

int r)

}//進行比較排序,先去取最後元素

intpartsort

(vector<

int>

&arr,

int l,

int r)

swap

(arr[l]

, arr[j]);

//最後需要將基準輸放至j處

return j;

}int

main()

; vector<

int>

v(arr, arr +12)

;quicksort

(v,0,11

);for(

auto e:v)

cout << e <<

" ";

system

("pause");

return0;

}

#include

#include

using namespace std;

intpartsort

(vector<

int>

&arr,

int l,

int r)

;void

quicksort

(vector<

int>

&arr,

int l,

int r)

}int

partsort

(vector<

int>

&arr,

int l,

int r)

swap

(arr[l]

, arr[j]);

return j;

}int

main()

C語言 交換法排序

交換法排序 題目內容 從鍵盤輸入n個 n 10 整數,用交換法進行排序 非遞減有序 結果輸出排序後的序列。說明 交換法排序用函式實現,函式原型為 void sort int a,int n 交換法排序的基本思想是 n個元素共需要n 1趟,其中第i 從0變化至n 2 趟的任務是找出本趟中最小的元素放在...

挖坑法 指標交換法實現快速排序

參考資料 同氣泡排序一樣,快速排序也是交換排序,但是採用了分治的思想,所以效率比氣泡排序高很多 氣泡排序每一輪都找出最大的元素到數列的一端 而快排挑選乙個基準元素,將比基準元素大移動到數列一端,比基準元素小的移動到另一端,將數列分成兩部分 下面幾種實現,推薦指標交換法 雙邊指標 容易理解 平均時間複...

陣列排序(交換法與選擇法)

交換法對陣列陣列進行排序的基本思路 就是先讓陣列 n個數 中的最左邊的乙個數 用i 0代表 與其右邊的每乙個數 從j i 1開始 依次 j 進行比較,若遇到比其大的數 score j score i 則將較大的那個數的值賦給自己,自己成為較大數繼續與後面的數比較,以此類推,一輪後 即j n時 讓i自...