qsort 函数中的cmp
来源:互联网 发布:淘宝html5 编辑:程序博客网 时间:2024/06/06 01:53
qsort(a,n,sizeof(a[0]),cmp)
qsort(指向一个要排序数组的首地址,指要排序数组的个数,每个数组的大小,cmp)
下面将分别用int,double,char,str,struct等形式的代码来说明qsort函数的调用
int 型
#include<stdio.h>#include<stdlib.h>#include<algorithm>#include<string.h>using namespace std;int cmp(const void *a,const void *b){return *(int *)b-*(int *)a;}int main(){int i,n;int a[1010];scanf("%d",&n);for( i=0;i<n;i++){scanf("%d",&a[i]); memset(a,0,sizeof(a));}qsort(a,n,sizeof(a[0]),cmp);//sort(a,a+n,cmp);for(i=0;i<n;i++){printf("%d ",a[i]);}printf("\n");return 0;}
double型
#include<stdio.h>#include<stdlib.h>int cmp(const void *a,const void *b){//if(*(double *)a-*(double *)b)//return 1; //else//return -1;return *(double *)a>*(double *)b;//这两种选一种就行 }int main(){double a[1010];int n,i;scanf("%d",&n);for(i=0;i<n;i++){scanf("%lf",&a[i]);}qsort(a,n,sizeof(a[0]),cmp);for(i=0;i<n;i++){printf("%lf ",a[i]);}printf("\n");}
char型(用的是sort)
#include <cstdio>#include <cstring>#include <algorithm>using namespace std;int cmp(char a, char b){// <span style="color:#333399;">使用sort函数声明时不需要用指针变量</span>return b > a;}int main (){//int n;//scanf("%d", &n);char a[10];scanf("%s", a);sort(a, a + 3,cmp);//printf("%s\n", a);return 0;}
<span style="font-family: Arial, Helvetica, sans-serif;">#include<stdio.h></span>
#include<stdlib.h>#include<string.h>char str[100][1010];int cmp(const void *a,const void *b){return strcmp((char *)b,(char *)a);int main(){int n,i;scanf("%d",&n);for(i=0;i<n;i++){scanf("%s",str[i]);}qsort(str,n,sizeof(str[0]),cmp);for(i=0;i<n;i++){printf("%s\n",str[i]);}return 0;}
结构体
#include<stdio.h>#include<stdlib.h>#include<string.h>struct node{int u,w;double v;char str[1010];}b[1010];int cmp(const void *a,const void *b){//return strcmp((*(node *)a).str,(*(node *)b).str);if((*(node *)a).u==(*(node *)b).u)return (*(node *)b).w-(*(node *)a).w;return (*(node *)a).u-(*(node *)b).u;}int main(){int n,i;scanf("%d",&n);for(i=0;i<n;i++){scanf("%d %d",&b[i].u,&b[i].w);}qsort(b,n,sizeof(b[0]),cmp);for(i=0;i<n;i++){printf("%d %d\n",b[i].u ,b[i].w);}}
1 0
- qsort 函数中的cmp
- 关于qsort中的cmp函数
- qsort和sort函数中的 cmp函数
- 关于qsort中的cmp函数(网上摘录)
- 关于qsort中的cmp函数(网上摘录)
- C/C++中的qsort()函数及其cmp()
- qsort函数cmp写法
- 关于qsort中的cmp函数(网上摘录)
- qsort()中cmp函数写法
- 快排函数qsort和cmp
- qsort中cmp函数写法汇总
- qsort中cmp函数写法汇总
- qsort中几种常见的cmp函数
- [c/c++]qsort中cmp函数写法
- sort 和qsort函数cmp函数各种写法
- poj 2075 lightblueme double qsort cmp函数的写法
- C++中 qsort中cmp函数写法汇总
- 【原+转】STL之优先队列的cmp函数和sort以及qsort函数的cmp
- 从SD卡读图并显示(一)
- iOS 消息推送及本地通知,原理解析
- HDU 3657 Game(取数 最小割)经典
- Qt中多事件使用实例
- 用D3.js进行医疗数据可视化 (四) 堆积区图 (Stacked Area Chart)
- qsort 函数中的cmp
- 在linux上安装oracle(红帽) 前的检查工作
- Rotate List
- hadoop权威指南气象数据下载
- IOS - 会员信息提示
- 内部类
- vs2010 CString转换char *
- 网络拓扑图例库
- android 自定义viewR.styleable找不到或者是报错!