1 #include 2/*3quick_sort.cpp入門之快速排序
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
排序演算法入門 快速排序
涵義 雖說快速排序是由氣泡排序改進而來,二者都是通過元素交換達到排序效果,但是在個人看來快速排序思想和冒泡完全不同。時間複雜度 直接插入排序最好的時間複雜度為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個數進行排序。首先在這個序列中隨便找乙個數作為基準數 不要被這個名詞嚇到了,就是乙個用來參照的數,待會你就知道它用來做啥的了 為了方...