快速排序主要基於「二分」的思想,每次找出乙個基準數從而將數列以基準數為界限分為兩部分,接著再對左右兩邊的數列再次排序(即再次呼叫該排序函式)。以上為本人學習過程中對該演算法的理解,若有不足之處,求指正!
**如下2
#include
#include
using
namespace std;
void
sortnum
(int beginum,
int endnum)
;int num[10]
=;int i,mid,j;
intmain()
sortnum(0
,k-1);
//對0~k-1的數排序
for(i =
0;i)return0;
}void
sortnum
(int beginum,
int endnum)
swap
(num[beginum]
,num[j]);
//到此處為止,第乙個基準量歸位
if(i-beginum>1)
if(endnum-i>1)
}
本篇部分內容參考《啊哈演算法》 ↩︎
執行環境為code::blocks 20.03 ↩︎
快速排序演算法 C語言實現
快速排序演算法 c語言實現 注 本篇內容為翻譯,之所以選擇這篇進行翻譯原因是該文章含有動畫,能夠更加直觀地展示快速排序。同時,可以仔細看一下 中把結構化的思想給予了更加充分地表現。按照功能進行模組劃分的思想得到了徹底地貫徹。以下內容翻譯自 譯文 在快速排序演算法中,使用了分治策略。首先把序列分成兩個...
快速排序演算法 C語言實現
注 本篇內容為翻譯,之所以選擇這篇進行翻譯原因是該文章含有動畫,能夠更加直觀地展示快速排序。同時,可以仔細看一下 中把結構化的思想給予了更加充分地表現。按照功能進行模組劃分的思想得到了徹底地貫徹。以下內容翻譯自 譯文 在快速排序演算法中,使用了分治策略。首先把序列分成兩個子串行,遞迴地對子序列進行排...
快速排序演算法(C語言實現)
自實現部分可參看慕課網陳越老師資料結構課程。庫函式函式原型 void qsort void buf,size t num,size t size,int compare const void const void 函式說明 對buf指向對資料 包含num項,每項的大小為size 進行快速排序。voi...