常用排序演算法的C語言實現

2021-07-11 17:25:49 字數 1298 閱讀 2747

最近看資料結構,把常用的排序演算法用c語言寫了一下。

沒有按資料結構上的定義sqlist結構體,只是用陣列的形式實現

有的演算法並沒有完全按書上給出的演算法,但思路一致。

#includevoid insertsort(int, int); //直接插入排序 無哨兵

void binsertsort(int, int); //折半插入排序

void bubblesort(int, int); //起泡排序

void qsort(int, int, int); //快速排序

void selectsort(int, int); //簡單選擇排序

int main();

int num = ;

//int num = ; //快排使用

int i;

int len = 10;

//insertsort(num, len);

//binsertsort(num, len);

//bubblesort(num, len);

//len = 7;

//qsort(num, 0, len-1);

//selectsort(num, len);

for(i=0; i0; j--)

else

} num[j] = temp; }}

//折半插入排序

void binsertsort(int num, int len)else

mid = (low + high)/2;

} //二分查詢完成後,low會指向應插入的位置

for(j=i; j>=low; j--)

num[low] = temp; }}

//起泡排序

void bubblesort(int num, int len)

} }}//快速排序

int partition(int num, int low, int high)

{ //一趟快排,返回樞軸位置

int temp = num[low];

while(low < high)

{ while(low= temp) --high;

num[low] = num[high];

while(low[minvaluetag];

void selectsort(int num, int len){

int i, j, minvaluetag, temp;

for(i=0; i。

《資料結構(c語言版)》  嚴蔚敏 吳偉民 著  清華大學出版社

幾種常用排序演算法的C語言實現

重溫資料結構,順手寫下幾種常用的排序演算法,以備查詢。cpp view plain copy print?include include include include include include void print int a,int n printf n return 直接插入排序,時間複...

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

本文共介紹了7種排序演算法 參考文章 1.1 基本思想 依次向後兩兩相鄰比較,大的向後移 1.2 示例 void bubblesort int a,int n 2.1 基本思想 從無序佇列中選擇最小值,放置到有序佇列的末尾 2.2 示例 void selectsort int a,int n a j...

常用排序演算法Java語言實現

演算法原理 1.比較相鄰的元素。如果第乙個比第二個大,就交換他們兩個。2.對每一對相鄰元素作同樣的工作,從開始第一對到結尾的最後一對。在這一點,最後的元素應該會是最大的數。3.針對所有的元素重複以上的步驟,除了最後乙個。4.持續每次對越來越少的元素重複上面的步驟,直到沒有任何一對數字需要比較。實現 ...