欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

C語言中qsort函數(shù)用法實(shí)例小結(jié)

 更新時(shí)間:2014年09月10日 15:01:25   投稿:shichen2014  
這篇文章主要介紹了C語言中qsort函數(shù)用法,包括了針對(duì)各種數(shù)據(jù)類型參數(shù)的排序,非常具有實(shí)用價(jià)值,需要的朋友可以參考下

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

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

一、對(duì)int類型數(shù)組排序

int num[100]; 

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

二、對(duì)char類型數(shù)組排序(同int類型)

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

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

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

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);

四、對(duì)結(jié)構(gòu)體一級(jí)排序 

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); 

 五、對(duì)結(jié)構(gòu)體二級(jí)排序 

struct In 
{ 
  int x; 
  int y; 
}s[100]; 

//按照x從小到大排序,當(dāng)x相等時(shí)按照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); 

 六、對(duì)字符串進(jìn)行排序

struct In 
{ 
  int data; 
  char str[100]; 
}s[100]; 

//按照結(jié)構(gòu)體中字符串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); 

相信本文所述實(shí)例對(duì)大家C程序設(shè)計(jì)的學(xué)習(xí)有一定的借鑒價(jià)值。

相關(guān)文章

最新評(píng)論