//快速排序
//快速排序是比較類排序,是氣泡排序的公升級,時間複雜度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自...