zoukankan      html  css  js  c++  java
  • C语言中qsort函数用法

    C语言中qsort函数用法-示例分析
     
     本文实例汇总介绍了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程序设计的学习有一定的借鉴价值。

  • 相关阅读:
    各大高校OJ网站
    项目中调试SQLServer 方便的查看SQL语句的执行时间的方法
    一个联合查询的优化,排行榜排名
    IEdevelopToolbar ie浏览器的css代码调试工具
    SQL Server 2016/2014/2012/2008/2005/2000简体中文企业版下载地址
    sql server 数据库学习
    增加路由ip
    HTTP Error 500.0
    远程的一些知识
    Windows内置系统账户:Local system/Network service/Local Service 区别
  • 原文地址:https://www.cnblogs.com/tsingke/p/5347672.html
Copyright © 2011-2022 走看看