入門之快速排序

2022-05-17 21:13:13 字數 794 閱讀 7845

1 #include 2/*3

入門之快速排序

4時間複雜度:o(nlogn)

5最壞情況時時間複雜度能達到o(n^2)

6借鑑自演算法導論7*/

8 #include 9

using

namespace

std;

10int a[5] = ;

11void quick_sort3(int *a,int l,int r)//

樞軸可以是任意乙個位置的數

1220

swap(a[i],a[r]);

21 quick_sort3(a,l,i-1

);22 quick_sort3(a,i+1

,j);23}

24void quick_sort2(int *a,int l,int r)//

樞軸只能是最後乙個

2535 swap(a[j+1

],a[r]);

36quick_sort2(a,l,j);

37 quick_sort2(a,j+2

,r);38}

39void quick_sort(int *a,int l,int r)//

樞軸只能是第乙個

4047 a[i] =m;

48 quick_sort(a,l,i-1

);49 quick_sort(a,i+1

,r);50}

51int

main()

52

quick_sort.cpp

排序演算法入門 快速排序

涵義 雖說快速排序是由氣泡排序改進而來,二者都是通過元素交換達到排序效果,但是在個人看來快速排序思想和冒泡完全不同。時間複雜度 直接插入排序最好的時間複雜度為o nlog2n 直接插入排序的最壞時間複雜度為o n2 因此直接插入排序總的平均時間複雜度為o nlog2n 注 不穩定 快速排序之所以比冒...

排序之快速排序

快速排序的在內排中起到比較重要的作用,平均時間複雜度達到o nlogn 公升序快速排序 1 int partition vector vi,int start,int end 11 vi start key 12return start 13 14void quickcore vector vi,i...

排序之快速排序

有沒有既不浪費空間又可以快一點的排序演算法呢?那就是 快速排序 啦!光聽這個名字是不是就覺得很高階呢。假設我們現在對 6 1 2 7 9 3 4 5 10 8 這個10個數進行排序。首先在這個序列中隨便找乙個數作為基準數 不要被這個名詞嚇到了,就是乙個用來參照的數,待會你就知道它用來做啥的了 為了方...