函式原型:void qsort (void *base ,size_t num,size_t width,int(_cdecl * compare)(const void*,const void *));
標頭檔案:stdlib.h
size_t num:陣列中待排序元素的數量
size_t width:各元素占用空間大小
int(_cdecl * compare)(const void*,const void *):指向函式的指標,用於確定排序順序
對快速排序的應用,主要是比較函式的編寫
一、對int型陣列排序
int cmp(const void *a,const void *b)//void型別的指標可以指向任意型別
**示例:
#include#includeint cmp(const void *a,const void *b)
int main()
二、對double型陣列排序
(與int型排序類似)
int cmp(const void *a,const void *b)
三、對char型陣列的排序
int cmp(const void *a,const void *b)
**示例:
#include#includeint cmp(const void *a,const void *b)
int main()
四、對結構體一級排序
struct tt[100];
int cmp(const void *a,const void *b)
**示例:
#include#includestruct tt[100];
int cmp(const void *a,const void *b)
int main()
五、對結構體二級排序
(若x不同,則按照x排序;若x相同時,按照y排序)
#include#includestruct tt[100];
int cmp(const void *a,const void *b)
int main()
六、對結構體中的字串排序
(相當於二維字元陣列)
struct t
s[100];
int cmp(const void *a,const void *b)
**示例:
#include#include#includestruct t
s[100];
int cmp(const void *a,const void *b)
int main()
七、對二維字元陣列排序
char s[2001][1001];
int cmp(const void *a, const void *b)
**示例:
#include #include #include char s[2001][1001];
int cmp(const void *a, const void *b)
int main(){
int i,n;
scanf("%d",&n);
getchar();//避免換行符被字串接收
for(i=0;i
qsort 快速排序
qsort函式是ansi c標準中提供的,其宣告在stdlib.h檔案中,是根據二分法寫的,其時間複雜度為n log n 其結構為 void qsort void base,size t nelem,size t width,int comp const void const void 其中 bas...
qsort 快速排序
cpp view plain copy print?void qsort void base,size t nmemb,size t size,int compare const void const void 函式原型在中找到 html view plain copy print?base 指向陣...
qsort快速排序
qsortc語言自帶的快速排序,今天來玩玩,直接看 2.陣列中待排序元素數量 3.各元素的占用空間大小 4.指向函式的指標,用於確定排序的順序 include include qsort排序結構體 typedef struct node node int compinc1 const void a,...