結構體結合qsort排序

2021-06-22 17:16:50 字數 1286 閱讀 4358

qsort的標頭檔案是stdlib.h,noip允許使用這個標頭檔案

一、對int型別陣列排序

int num[100];

例如:int cmp ( const void *a , const void *b )

qsort(num,100,sizeof(num[0]),cmp);

二、對char型別陣列排序(同int型別)

char word[100];

例如:int cmp( const void *a , const void *b )

qsort(word,100,sizeof(word[0]),cmp);

三、對double型別陣列排序(特別要注意)

double in[100];

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

qsort(in,100,sizeof(in[0]),cmp);

四、對結構體一級排序

struct in

s[100]

//按照data的值從小到大將結構體排序,關於結構體內的排序關鍵資料data的型別可以很多種,參考上面的例子寫

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

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

五、對結構體二級排序

struct in

s[100];

//按照x從小到大排序,當x相等時按照y從大到小排序

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

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

六、對字串進行排序

struct in

s[100];

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

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

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

七、計算幾何中求凸包的cmp

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

重點cmp函式,把除了1點外的所有點,旋轉角度排序

qsort 與結構體相結合

題目描述 用一維陣列儲存學號和成績,然後,按成績排序輸出。輸入 輸入第一行包括乙個整數n 1 n 100 代表學生的個數。接下來的n行每行包括兩個整數p和q,分別代表每個學生的學號和成績。輸出 按照學生的成績從小到大進行排序,並將排序後的學生資訊列印出來。如果學生的成績相同,則按照學號的大小進行從小...

結構體快速排序(qsort)

桐桐的學校剛剛舉行了期中考試,桐桐所在的七年級一共考了五個科目 語文 數學 英語 政治和歷史。現在所有成績都已經出來,班主任找到了桐桐,想讓桐桐幫忙計算班裡所有同學的五科總成績,並按照總成績由高到低的順序排名,如果兩個學生盼總成績相同,則學號小的排在前面。你能夠編寫程式幫助桐桐完成任務嗎?第1行 乙...

qsort用於結構體陣列排序

用模擬的qsort進行解釋結構體陣列的排序 typedef struct stustu void swap void x,void y,int size int com const stu x,const stu y 傳進來的是陣列的地 void my qsort void base,int num...