qsort函式用法

2021-09-08 08:51:54 字數 1907 閱讀 1152

qsort函式簡介

標頭檔案為:#include

功 能: 使用快速排序例程進行排序

用 法: void qsort(void *base, int nelem, int width, int (*fcmp)(const void *,const

void *));

引數:1 待排序陣列首位址 2 陣列中待排序元素數量 3 各元素的占用空間大小 4 指向函式的指

針,用於確定排序的順序

1.對乙個長為1000的陣列進行排序時,int a[1000]; 那麼base應為a,num應為 1000,width應為

sizeof(int),comp函式隨自己的命名。

qsort(a,1000,sizeof(int ),comp);

其中comp函式應寫為:

int comp(const void *a,const void *b)

上面是由小到大排序,return *(int *)b-*(int *)a; 為由大到小排序。

是對乙個二維陣列的進行排序:

int a[1000][4]; 其中按照a[0]的大小進行乙個整體的排序,其中a[1]必須和a[0]一起移動交換

。qsort(a,1000,sizeof(int)*4,comp);

int comp(const void *a,const void *b)

char a[1000][20];

qsort(a,1000,sizeof(char)*20,comp);

int comp(const void *a,const void *b )

2.對字串排序:

int comp(const void *p1,const void *p2)

int main()

s[100];

int comp(const void *p1,const void *p2)

qsort(s,100,sizeof(s[0]),comp);

4、按結構體中多個關鍵字排序(對結構體多級排序)[以二級為例]:

struct node

s[100];

//按照x從小到大排序,當x相等時按y從大到小排序(這是3跟4的區別)

int comp(const void *p1,const void *p2)

5、對結構體中字串進行排序:

struct node

s[100];

//按照結構體中字串 str 的字典序排序

int comp(const void *p1,const void *p2)

qsort(s,100,sizeof(s[0],comp);

6、計算幾何中求凸包的comp

int comp(const void *p1,const void *p2)//重點comp函式,把除了1點外的所有的點旋轉角度排序

6.6、計算幾何中求凸包的comp

int comp(const void *p1,const void *p2)//重點comp函式,把除了1點外的所有的點旋轉角度排序

2011-8-3 20:25

提問者: nino先生

|瀏覽次數:278次

我來幫他解答

2011-8-3 20:49

滿意回答

樓上寫的是algorithm裡面sort的寫法

qsort不能寫成return a < b;

int cmp(const void* a, const void* b)

如果返回負數,說明a排在b前面

如果返回正數,說明a排在b後面

如果返回0,說明a和b無先後關係

所以如果要從小到大排

則返回 *((int*)a) - *((int*)b)

如果從大到小

則返回 *((int*)b) - *((int*)a)

qsort函式用法

qsort 功 能 使用快速排序例程進行排序 用 法 void qsort void base,int nelem,int width,int fcmp const void const void 各引數 1 待排序陣列首位址 2 陣列中待排序元素數量 3 各元素的占用空間大小 4 指向函式的指標,...

qsort函式用法

qsort 功 能 使用快速排序例程進行排序 用 法 void qsort void base,int nelem,int width,int fcmp const void const void 用於確定排序的順序 排序方法有很多種,選擇排序,氣泡排序,歸併排序,快速排序等。看名字都知道快速排序 ...

qsort函式用法

用 法 void qsort void base,int nelem,int width,int fcmp const void const void 各引數 1 待排序陣列首位址 2 陣列中待排序元素數量 3 各元素的占用空間大小 4 指向函式的指標 用於確定排序的順序 排序方法有很多種,選擇排序...