//嚴蔚敏資料結構快速排序演算法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 合併順序表,並將元素按從小到大排序...