国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > C > 正文

C語言中qsort函數用法實例小結

2020-01-26 15:20:25
字體:
來源:轉載
供稿:網友

本文實例匯總了C語言中qsort函數的常見用法,非常具有實用價值。分享給大家供大家參考。具體分析如下:

C語言中的qsort函數包含在<stdlib.h>的頭文件里,本文中排序都是采用的從小到大排序。

一、對int類型數組排序

int num[100]; int cmp ( const void *a , const void *b ) {   return *(int *)a - *(int *)b; } qsort(num,100,sizeof(num[0]),cmp); 

二、對char類型數組排序(同int類型)

char word[100]; int cmp( const void *a , const void *b ) {   return *(char *)a - *(char *)b; } qsort(word,100,sizeof(word[0]),cmp); 

三、對double類型數組排序(特別要注意)

double in[100]; int cmp( const void *a , const void *b ) {   return *(double *)a > *(double *)b ? 1 : -1; } qsort(in,100,sizeof(in[0]),cmp);

四、對結構體一級排序 

struct In {   double data;    int other; }s[100];int cmp( const void *a ,const void *b) {   return (*(struct In *)a)->data > (*(struct In *)b)->data ? 1 : -1; } qsort(s,100,sizeof(s[0]),cmp); 

 五、對結構體二級排序 

struct In {   int x;   int y; }s[100]; //按照x從小到大排序,當x相等時按照y從大到小排序 int cmp( const void *a , const void *b ) {   struct In *c = (struct In *)a;   struct In *d = (struct In *)b;   if(c->x != d->x) return c->x - d->x;   else return d->y - c->y; } qsort(s,100,sizeof(s[0]),cmp); 

 六、對字符串進行排序

struct In {   int data;   char str[100]; }s[100]; //按照結構體中字符串str的字典順序排序 int cmp ( const void *a , const void *b ) {   return strcmp( (*(struct In *)a)->str , (*(struct In *)b)->str ); } qsort(s,100,sizeof(s[0]),cmp); 

相信本文所述實例對大家C程序設計的學習有一定的借鑒價值。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表

圖片精選

主站蜘蛛池模板: 青浦区| 原阳县| 夏邑县| 丹东市| 高邮市| 赣州市| 房产| 拉孜县| 通山县| 张家口市| 广安市| 塘沽区| 阿鲁科尔沁旗| 武义县| 涞源县| 庄浪县| 阳东县| 巫溪县| 泗水县| 安溪县| 馆陶县| 临高县| 锡林郭勒盟| 简阳市| 舟曲县| 龙岩市| 平阴县| 新田县| 元谋县| 镇坪县| 芮城县| 调兵山市| 清流县| 太湖县| 收藏| 大英县| 华蓥市| 甘德县| 封开县| 抚宁县| 岐山县|