C語言實現快速排序演算法

2021-10-10 11:51:56 字數 500 閱讀 9884

思想:採用分治的排序策略,隨機取一基準值,分別從陣列兩側與基準值比較,以公升序排列為例,若左邊出現比基準值大的數,則停止取數,記錄當前元素下標,開始從右側取數與基準值相比較,若出現比基準值小的數,停止,將左側與右側數做交換……以此類推,當左邊指標與右邊指標重疊時,停止本次迴圈。

#includeint a[30] = ;

int fastsort(int *a,int low,int high)

while( i != j)

while(a[j] > basic)

tmp = a[i];

a[i] = a[j];

a[j] = tmp;

}

index = i;

fastsort(a,low,index-1);

fastsort(a,index+1,high);

return index;

}int main(void)

}

快速排序演算法 C語言實現

快速排序演算法 c語言實現 注 本篇內容為翻譯,之所以選擇這篇進行翻譯原因是該文章含有動畫,能夠更加直觀地展示快速排序。同時,可以仔細看一下 中把結構化的思想給予了更加充分地表現。按照功能進行模組劃分的思想得到了徹底地貫徹。以下內容翻譯自 譯文 在快速排序演算法中,使用了分治策略。首先把序列分成兩個...

快速排序演算法 C語言實現

注 本篇內容為翻譯,之所以選擇這篇進行翻譯原因是該文章含有動畫,能夠更加直觀地展示快速排序。同時,可以仔細看一下 中把結構化的思想給予了更加充分地表現。按照功能進行模組劃分的思想得到了徹底地貫徹。以下內容翻譯自 譯文 在快速排序演算法中,使用了分治策略。首先把序列分成兩個子串行,遞迴地對子序列進行排...

快速排序演算法(C語言實現)

自實現部分可參看慕課網陳越老師資料結構課程。庫函式函式原型 void qsort void buf,size t num,size t size,int compare const void const void 函式說明 對buf指向對資料 包含num項,每項的大小為size 進行快速排序。voi...