当前位置:首页 >> 学科竞赛 >> 七种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 包含在的头文件里


赞助商链接
更多相关文档:

STL中qsort的七种用法

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

qsort排序

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

实验七 排序

实验七:内部排序算法比较 7.1 问题描述程序对以下 4 种内部排序 (冒泡排序、...} void QSort(SqList &L,int low,int high)//递归形式的快速排序算法 { int...

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

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

数据结构实验(七种排序算法的实现)题目和源程序

数​据​结​构​实​验​(​七​种​排​序​算​...//对高子表递归排序 }//if }//qSort //对顺序表L做快速排序 void quick...

数据结构实验(七种排序算法的实现)题目和源程序

数据结构实验(七种排序算法的实现)题目和源程序_IT/计算机_专业资料。数据结构的...qSort(L, pivotLoc+1, high);//对高子表递归排序 }//if }//qSort //...

C++的七种排序

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

数据结构七个排序课程设计

数据结构七个排序课程设计 - 手写输入数据,代码抄书上改得,时间函数是精确到微妙,... [0]; return low; } void QSort(int R[],int s,int t)//快速排序 {...

qsort及其用法

大将结构体排序,关于结构体内的排序关键数据 data 的类 型可以很多种,参考上面...(char*)b); } qsort(temp, j,sizeof(temp[0]),cmpstr); 7、计算几何...

实验7: 内部排序算法比较

实验7: 内部排序算法比较一、问题描述 程序对以下 4 种内部排序(冒泡排序、...void QSort(PList &L,int low,int high){//递归形式的快速排序算法 int Piv...

更多相关标签:
网站地图

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