qsort对各数据类型的测试样例
来源:互联网 发布:买家怎么加入淘宝联盟 编辑:程序博客网 时间:2024/06/05 11:51
//挺有收获的
//qsort Demo#include <iostream>#include <cstdlib>//qsort #include <cstring>using namespace std;int cmp_int(const void *a,const void *b){return *(int *)a - *(int *)b;}int cmp_char(const void *a,const void *b){return *(char *)a - *(char *)b;}int cmp_string(const void *a,const void *b){return strcmp((char*)a,(char *)b);} struct Node { int x,y; }; int cmp_struct1(const void *a,const void *b)//对结构体一级排序(按结构体中的某个关键字排序) {return (*(Node*)a).x > (*(Node*)b).x ? 1 :-1; }int cmp_struct2(const void *a,const void *b)//对结构体二级排序(按照x从小到大比较 , {//当x相等时按y从大到小比较) struct Node *c = (Node *)a;struct Node *d = (Node *)b;if(c->x!=d->x)return c->x - d->x;elsereturn c->y - d->y;}int main(){//测试qsort对整数排序int arr[6] = {5,3,12,8,1,9};qsort(arr,6,sizeof(int),cmp_int);for(int i=0;i<6;i++){cout<<arr[i]<<" "; }cout<<endl;//测试qsort对char进行排序char ch[6] = {'v','a','w','k','z','c'};qsort(ch,6,sizeof(char),cmp_char);for(int i=0;i<6;i++){cout<<ch[i]<<" ";}cout<<endl;//测试qsort对字符串排序char str[100][10]= {"abc","cdf","ckg","mvc","java","oracle"};qsort(str,6,sizeof(str[0]),cmp_string); for(int i=0;i<6;i++){cout<<str[i]<<" ";}cout<<endl; //测试qsort对结构体的一级排序(按x域的大小排的顺序) struct Node node[100] ={ {12,15},{30,25}, {20,8},{28,10},{35,5} ,{30,10} }; qsort(node,6,sizeof(node[0]),cmp_struct1); for(int i=0;i<6;i++) { cout<<node[i].x<<" "<<node[i].y<<"\t"; } cout<<endl; //测试qsort对结构体的二级排序 struct Node node2[100] ={{12,15},{30,25},{20,16},{20,10},{35,5} ,{30,10},{32,6},{35,50} }; qsort(node2,8,sizeof(node2[0]),cmp_struct2); for(int i=0;i<8;i++) { cout<<node2[i].x<<" "<<node2[i].y<<"\t"; } cout<<endl; return 0;}
0 0
- qsort对各数据类型的测试样例
- 对qsort的研究
- 字段数据类型对索引的影响测试
- qsort对二维数组的排序
- qsort()实现对字符数组的排序
- Qsort对二位数组的排序
- 数据类型的一些测试
- qsort对字符串排序
- 利用qsort() 对字符串的内容快速排序
- sort和qsort函数对结构体的二级排序
- 用qsort对字符串数组排序需要注意的几个问题
- 用qsort对字符串数组排序需要注意的几个问题
- 用qsort对字符串数组排序需要注意的几个问题
- qsort对多维数组和结构体的排序
- qsort对64位整数排序时遇到的坑
- qsort和sort对结构体的排序
- 参考C语言的qsort函数实现一个一个能对任意数据类型(包括结构体)的数组进行排序的函数(里面用的不是快速排序)
- 对引用数据类型的操作
- poj 2029 Get Many Persimmon Trees (DP)3Ways
- Libvirt 查看Domain信息
- 【BZOJ3098】Hash Killer Ⅱ
- 6424 Russian Dolls--贪心
- 分享一个点击小图切换大图的jquery,并说明一下原理
- qsort对各数据类型的测试样例
- java--continue和break的简单使用
- 用 VMware虚拟机安装 Mac OS X 10.9苹果系统
- 数据挖掘算法 (转)
- 使用Monitor对资源进行保护(二)
- eclipse / ADT(Android Develop Tool) 一些方便的初始设置
- java--面向对象集合类List
- table合并单元格 colspan(跨列)和rowspan(跨行)
- 各种读取速度