当前位置:首页 >> 学科竞赛 >> 七种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,s

izeof(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 包含在的头文件里


更多相关文档:

STL中qsort的七种用法

STL中qsort七种用法 qsort() 应该就是用的快排。貌似是以数据块的方式移动...程序库stdlib.h中的一个函数,需要比较函数完成排序; sort()是STL中的标准算法...

C库函数qsort七种使用方法示例

C 库函数 qsort 七种使用方法示例七种 qsort 排序方法<本文中排序都是采用的从小到大排序> 一、对 int 类型数组排序 C++代码 1. int num[100]; Sample: 1....

七种快排方法

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

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

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

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

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

用指针的方法进行排序,并用qsort函数进行排序的实例

qsort排序方法 3页 5财富值 七种qsort排序方法 1页 免费 C语言标准库函数qsort...qsort函数和指针的结合使用qsort函数和指针的结合使用隐藏>> #include <stdio.h...

c语言排序qsort

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

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

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

sort和qsort函数对结构体的二级排序

sort和qsort函数对结构体的二级排序_计算机软件及应用_IT/计算机_专业资料。qsort(基本快速排序方法,每次把数组分成两部分和中间的一个划分值,而对于有多个重复值...

qsort函数详解

那么 qsort 认为 a<b 的,就把 b 放到前面去,但实际上是 a 大于 b 的, 所以就造成升降序的差别了。 所以就造成升降序的差别了。 七种 qsort 排序方法 <...
更多相关标签:
qsort结构体排序 | qsort字符串排序 | qsort对结构体排序 | qsort排序 | 快速排序qsort | qsort对字符串排序 | qsort对二维数组排序 | c语言qsort排序 |
网站地图

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