快速排序的一種實現

2021-10-01 17:27:17 字數 1161 閱讀 8899

閒來沒事,寫了乙個程式玩玩,省的到時候會了shell,又不會c的程式設計了【手動痛哭】

本著簡明的原則,選取的標準數是在陣列的 開頭 或者 結尾處

這裡需要注意,如果你選擇的基準數是在左側,那麼就需要從右側開始遍歷陣列;從右側選取的基準數也是同理。

#include #include #include using std::cout;

using std::endl;

void qsort_reverse(int array, int begin, int end)

int tmp = array[end];

int head = begin;

int foot = end;

while(true)

}if(head > foot)

else

for(; foot >= begin; --foot)

}if(foot < head)

else

}qsort_reverse(array, begin, head-1);

qsort_reverse(array, head + 1, end);

}void qsort(int array, int begin, int end)

int tmp = array[begin];

int head = begin;

int foot = end;

while(true)

}if(foot < head)

else

for(; head <= end; ++head)

}if(head > foot)

else

}qsort(array, begin, head-1);

qsort(array, head + 1, end);

}int main(int argc, char** ar**)

for(int i = 0; i < 10; ++i)

cout << endl;

//qsort(array, 0, 9);

qsort_reverse(array, 0, 9);

for(int i = 0; i < 10; ++i)

cout << endl;

return 1;

}

快速排序演算法的一種實現

參考部落格 白話經典演算法系列之六 快速排序 快速搞定 功能 實現快速排序演算法 include 方法宣告 intadjustsort int a,int m,int n void quicksort int a,int m,int n int main void printf 排序前的陣列順序.n...

一種快速排序演算法

using system class program for int l 0 l src.length l src count temp l i 3 0xff temp l static void main string args watch.stop console.writeline quick...

快速排序的一種較簡單寫法

文中的快速排序實際上是快速找到首位元素的實際位置並放置,接著通過二分法,進行遞迴查詢放置,完成排序。void quicksort int a,int low,int high int i low,j high if i temp i首先我們拿到一組資料a,找到a的最低位下標和最高位下標。接著使用哨兵...