c語言快速排序quicksort

2021-10-02 13:49:56 字數 609 閱讀 1343

原理:每次定乙個基準,將陣列裡的所有數按照大小排列,比基準小的在左邊,比基準大的在右邊,再通過向左遞迴,向右遞迴即可完成快速排序。

原理可參考:

#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,...