排序之快速排序(2)

2022-07-17 03:12:11 字數 691 閱讀 3272

這種快速排序的思路是:首先以a[start]為軸,不停得從陣列的兩端開始比較。從最右端開始,如果有比a[start]小的,那麼賦值a[i];從最左端開始,如果有比a[start]大的,那麼賦值a[j],以此往復,漸漸有序;注意的是遞迴跳出的條件,只有乙個數就不需要排序,即start>=end

#include

#include

#define n 1000000

intarray[n];

void init_array(int a,int

n);void print_array(int a,int

n);void quick_sort(int a,int start,int

end);

void quick_sort(int a,int

n);int

main()

void init_array(int a,int

n)void print_array(int a,int

n)void quick_sort(int a,int start,int

end)

a[i]=temp;

quick_sort(a,start,i-1

); quick_sort(a,i+1

,end);

}void quick_sort(int a,int

n)

Java排序之快速排序 2

快速排序 快排的平均效率總的來說是最快的排序演算法,但是他也有那種最壞的情況。比如說一組陣列然後要排成順序,那麼他的時間複雜度就成了o n 2 當然這個是最壞情況不會經常遇到,但是我們總要了解下。好了 然後接下來是我個人對快排的一些簡單總結 在快排 quicksort 中,我們一般會選出乙個中軸 通...

排序之快速排序

快速排序的在內排中起到比較重要的作用,平均時間複雜度達到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個數進行排序。首先在這個序列中隨便找乙個數作為基準數 不要被這個名詞嚇到了,就是乙個用來參照的數,待會你就知道它用來做啥的了 為了方...