C语言函数qsort的使用方法

qsort函数stdlib.h文件中,函数原型为
void qsort(void *base,size_t nelem,size_t width,int (*Comp)(const void *,const void *));
*base 为要排序的数组
nelem 为要排序的数组的长度
width 为数组元素的大小(一字节为单位)
默认是从小到大排序的!
(* Comp)(const void *p1,const void *p2) 为判断大小函数的指针,这个函数需要自己定义,如果p1>p2,函数返回-1;a<b,函数返回1;a==b函数返回0

操作方法

  • 01

    对int类型数组排序 int num[100]; int cmp ( const void *a , const void *b ) { return *(int *)a - *(int *)b; } qsort(num,100,sizeof(num[0]),cmp);

  • 02

    对double类型数组排序 int Mycmp(const void *a ,const void * b) { return (*(double *)a>*(double * )b?1:-1); }

  • 03

    结构体一级排序 struct ln{ double data; int x; int y; }; int Mycmp2(const void *a ,const void * b) { return (((ln *)a)->data>((ln *)b)->data?1:-1); }

  • 04

    对结构体二级排序 struct ln{ int x; int y; }; 对x按升序排列,如果x相同,则y按降序排列 int Mycmp1(const void *a ,const void * b) { return (((ln *)a)->data>((ln *)b)->data?1:-1); } //升序 int Mycmp2(const void *a ,const void * b) { if(((ln *)a)->data==((ln *)b)->data) return (((ln *)a)->x>((ln *)b)->x?-1:1); }//降序 int Mycmp2(const void *a ,const void * b)                                   //这个函数和上面两个函数之和的功能相同 { if(((ln *)a)->data==((ln *)b)->data) return (((ln *)a)->x>((ln *)b)->x?-1:1); else return (((ln *)a)->data>((ln *)b)->data?1:-1); }

  • 05

    对字符串进行排序 int Mycmp3(const void *a ,const void * b) { return strcmp(((ln *)a)->str,((ln *)b)->str); }

  • 06

    对字符串二维数组排序完整代码 #include <stdio.h> #include <stdlib.h> #include <string.h> char s[2001][1001]; int cmp(const void *a, const void *b){ return strcmp((char *)a,(char *)b); } int main(){ int i,n; scanf("%d",&n); getchar(); for(i=0;i<n;i++) gets(s[i]); qsort(s,n,1001*sizeof(char),cmp); for(i=0;i<n;i++) puts(s[i]); return 0; }

(0)

相关推荐

  • win7如何更改语言 win7系统中将电脑语言改成英文的方法步骤介绍

    今年evad3rs团队发布的iOS 7完美越狱工具有些特殊,中国版iOS7完美越狱工具中,捆绑有太极助手插件,此插件类似流氓插件,容易导致iOS越狱设备出现白苹果现象(国外版无此插件)。所以就出现了一 ...

  • excel公式产生的错误值用函数显示为空方法

    excel公式产生的错误值用函数显示为空方法.把excel公式产生的错误值显示为空,例如被除数为0时,便有错误值产生.为了不让错误值打印出来,必须把错误值显示为空.我们用excel里面的函数iferr ...

  • Excel使用Code函数返回数字代码方法图解

    在Excel的使用过程当中,我们有时需要使用CODE函数数字代码,那么具体该如何操作呢?今天小编就为大家详细介绍一下,一起来看看吧! 方法/步骤 1.Excel中返回文字串中第一个字符的数字代码(对应 ...

  • Excel中的Countifs函数(查询统计)使用方法介绍

    Countifs是Countif的复数,多条件统计.下面就为大家介绍它的使用方法,来看看吧! 方法/步骤 首先我们随意的求一个数据统计我们选择300分以上400分以下看一下这之间有多少人.同样的先输入 ...

  • excel利用平均值函数计算平均值的方法

    excel是一款电子表格软件.直观的界面.出色的计算功能和图表工具,使它成为最流行的个人计算机数据处理软件.然而,仍然有不少用户对于一些操作不太熟悉,他们问道:怎样才能利用求平均值函数来计算平均值呢? ...

  • excel 中求和函数sum的使用方法

    我们在使用Excel制作表格的时候经常会使用到一些函数,下面就给大家讲讲excel 中求和函数sum的使用方法.具体如下:1. 第一步,在电脑上打开Excel软件,然后选中如图所示需要显示求和结果的单 ...

  • 条件平均函数averageifs的使用方法

    条件平均函数averageifs的使用方法. 操作方法 01 计算分数大于等于60,小于80的分数平均值,我们应用条件平均函数AVERAGEIF,编辑公式=AVERAGEIFS(B4:B12,B4:B ...

  • 如何编写比较大小的C语言函数

    现在我们 来看看,如何编写比较大小的C语言函数. 操作方法 01 首先我们编写一句头文件. 02 然后我们定义比较函数的名称和类型,以及参数类型. 03 然后我们开始编写函数主题部分. 04 然后我们 ...

  • Excel函数VLOOKUP+MATCH使用方法!

    Excel函数VLOOKUP+MATCH使用方法!实现准确定位~ 操作方法 01 在办公时候,需要在一批数据中准确定位某个单元格的数据:如果是挨个找,那就非常麻烦:但是现在可以用函数  VLOOKUP ...