原理:每次定乙個基準,將陣列裡的所有數按照大小排列,比基準小的在左邊,比基準大的在右邊,再通過向左遞迴,向右遞迴即可完成快速排序。
原理可參考:
#include
#include
#include
#include
using
namespace std;
vector<
int>a =
;void
quicksort
(int left,
int right)
//出來的時候i==j 並且a[i]//將a[i]與a[left]調換
a[left]
= a[i]
; a[i]
= temp;
quicksort
(left, i -1)
;quicksort
(i +
1, right);}
intmain()
system
("pause");
return0;
}
輸出結果:01234
python實現快速排序 quick sort
快速排序 quick sort 又稱劃分交換排序 partition exchange sort 通過一輪取乙個元素作為中間值,將要排序的資料分割成兩部分,其中一部分的所有資料都比這個中間值都要小,另外一部分的所有資料都比這個中間值要大,然後再次按此方法依次對這兩部分資料分別再次進行快速排序,注意在...
基本排序演算法之3 快速排序quicksort
快排的思路就不說了,中軸分組,借助乙個臨時單元。時間複雜度o nlogn 下面是實現 includeusing namespace std templatebool less t a,t b a first temp qsort a,first,f qsort a last 1,n last 1,f...
第七章快速排序之「快速排序QUICKSORT」
include using namespace std int partition int a,int lo,int hi while a j key if i j else return j void quicksort int a,int lo,int hi int j partition a,...