当前位置:首页 >> 学科竞赛 >> 七种qsort排序方法

七种qsort排序方法


七种 qsort 排序方法<本文中排序都是采用的从小到大排序>一、 对 int 类型数组 排序 C++代码 1. int num[100]; Sample: 1. 2. 3. 4. 5. int cmp ( const void *a , const void *b ) { return *(int *)a – *(int *)b; } qsort(num,100,sizeof(num[0]),cmp);

二、对 char 类型数组排序(同 int 类型) C++代码 1. char word[100]; Sample: 1. 2. 3. 4. 5. int cmp( const void *a , const void *b ) { return *(char *)a – *(char*)b; } qsort(word,100,sizeof(word[0]),cmp)

三、对 double 类型数组排序(特别要注意) C++代码 1. double in[100]; 2. int cmp( const void *a , const void *b ) 3. { 4. return *(double *)a > *(double *)b ? 1 : -1; 5. } qsort(in,100,sizeof(in[0]),cmp); 四、对结构体一级排序 C++代码 1. 2. 3. 4. struct In { double data; int other; }s[100]

5. //按照 data 的值从小到大将结构体排序,关于结构体内的排序关键数据 data 的类型可以很多种,参考上面的例子写 6. int cmp( const void *a ,const void *b) 7. { 8. return (*(In *)a).data > (*(In *)b).data ? 1 : -1; 9. } 10. qsort(s,100,sizeof(s[0]),cmp); 五、对结构体二级排序 C++代码 1. struct In { 2. int x; int y; 3. }s[100]; 4. //按照 x 从小到大排序,当 x 相等时按照 y 从大到小排序 5. int cmp( const void *a , const void *b ) 6. { 7. struct In *c = (In *)a; 8. struct In *d = (In *)b; 9. if(c->x != d->x) return c->x – d->x; 10. else return d->y – c->y; 11. } 12. qsort(s,100,sizeof(s[0]),cmp); 六、对字符串进行排序 C++代码 1. struct In { 2. int data; char str[100]; 3. }s[100]; 4. //按照结构体中字符串 str 的字典顺序排序 5. int cmp ( const void *a , const void *b ) 6. { 7. return strcmp( (*(In *)a)->str , (*(In *)b)->str ); 8. } 9. qsort(s,100,sizeof(s[0]),cmp); 七、计算几何中求凸包的 cmp C++代码

1. int cmp(const void *a,const void *b) 2. //重点 cmp 函数,把除了 1 点外的所有点,旋转角度排序 3. { 4. struct point *c=(point *)a; 5. struct point *d=(point *)b; 6. if( calc(*c,*d,p[1]) < 0) return 1; 7. else if( !calc(*c,*d,p[1]) 8. && dis(c->x,c->y,p[1].x,p[1].y) < dis(d->x,d->y,p[1].x,p[1].y)) 9. 10. 11. } //如果在一条直线上,则把远的放在前面 return 1; else return -1;

PS: 其中的 qsort 函数包含在的头文件里,strcmp 包含在的头文件里


更多相关文档:

ACM qsort排序方法

ACM qsort排序方法ACM qsort排序方法隐藏>> 七种qsort 排序方法 <本文中排序都是采用的从小到大排序> 一、对 int 类型数组排序 int num[100]; Sample: int cmp...

qsort()函数与sort()函数排序及区别_汇总

排序的目标数组开始地址 num:目标数组元素个数 width:目标数组中每一个元素长度 cmp:函数指针,指向比较函数 1、qsort 七种排序方法七种排序方法 <本文中排序...

qsort排序

(阿排 好好玩 ICPC~), 信区 ACM_ICPC 阿排 标题: 快排 qsort 的用法详解...qsort七种排序方法 3页 免费喜欢此文档的还喜欢 qsort函数详解 4页 1下载券...

c语言排序qsort

七种qsort排序 3页 1下载券 qsort排序方法 3页 2下载券喜欢此文档的还喜欢 ...假设是对 int 排序的话,如果是升序,那么就是如果 a 比 b 大返回一个正值,...

快速排序算法的qsort函数的程序理解

快速排序算法的qsort函数的程序理解_计算机软件及应用_IT/计算机_专业资料。快速...qsort的七种排序方法 3页 免费 七种qsort排序方法 1页 免费 [极力推荐]七种...

qsort

七种qsort 排序方法 <本文中排序都是采用的从小到大排序> 一、对 int 类型数组排序 int num[100]; Sample: int cmp ( const void *a , const void *b )...

qsort函数详解

那么 qsort 认为 a<b 的,就把 b 放到前面去,但实际上是 a 大于 b 的, 所以就造成升降序的差别了。 所以就造成升降序的差别了。 七种 qsort 排序方法 <...

C语言标准库函数qsort排序的介绍与使用

C 语言标准库函数 qsort 排序的介绍与使用 2007-05-22 19:24 qsort 函数包含...C库函数qsort七种使用方... 3页 免费 c语言排序qsort 4页 1下载券 C语言qsor...

10.1几种基本排序算法的实现

10.1几种基本排序算法的实现_计算机软件及应用_IT/计算机_专业资料。数据结构...[0];//枢轴记录到位 return low;//返回枢轴位置 } void QSort(SqList& L,...

qsort 快排用法

qsort 快排用法_语文_高中教育_教育专区。用 qsort 对字符串数组排序需要注意的...C库函数qsort七种使用方... 3页 免费 qsort函数用法 8页 免费 qsort快速排序...
更多相关标签:
网站地图

文档资料共享网 nexoncn.com copyright ©right 2010-2020。
文档资料共享网内容来自网络,如有侵犯请联系客服。email:zhit325@126.com