資料結構嚴蔚敏版快速排序演算法c語言實現

2021-07-09 04:59:15 字數 943 閱讀 7373

//嚴蔚敏資料結構快速排序演算法c語言實現

#includetypedef int infotype; /* 定義其它資料項的型別 */

/* c10-1.h 待排記錄的資料型別 */

#define maxsize 20 /* 乙個用作示例的小順序表的最大長度 */

typedef int keytype; /* 定義關鍵字型別為整型 */

typedef struct

redtype; /* 記錄型別 */

typedef struct

sqlist; /* 順序表型別 */

int partition(sqlist *l,int low,int high);

int count=0;

void print(sqlist l,int type)

else

} printf("\n");

}/* bo10-2.c 快速排序的函式 */

//這貨要默寫下來。

void qsort(sqlist *l,int low,int high)

(*l).r[low]=(*l).r[0]; /* 樞軸記錄到位 */

return low; /* 返回樞軸位置 */

}#define len(a) sizeof(a)/sizeof(a[0])

void main()

,,,,,,,};

sqlist l;

int i;

int n=len(d);

for(i=0;il.r[i+1]=d[i];

l.length=n;

printf("排序前:\n");

print(l,1);

quicksort(&l);

printf("排序後:\n");

print(l,1);

}

嚴蔚敏版資料結構 演算法10 6(快速排序)

在看 的同時弄懂原理 每一次單趟的排序,將確定乙個數值的最終位置,也就是用low和high遍歷整個陣列,並將前後的大小互換 具體來說是,將後面較小的換到前面,前面較大的換到後面 返回值是low也就是低位下邊,其實就是第一次排序之後樞軸值所處的位置,在後續遞迴的過程中我們可以用這個值來對陣列進行分治 ...

嚴蔚敏版資料結構 演算法2 4

嚴版資料結構 p23 演算法 2.4 include include include f c kind project datastruct privacy privacy.h intmain for i 1 i 11 i if listinsert sq l,i,i 10 1 i 1 while ...

嚴蔚敏版資料結構 演算法2 7

include include include f c kind project datastruct privacy privacy.h void virgin sqlist l int main void void virgin sqlist l 演算法2.7 合併順序表,並將元素按從小到大排序...