结构体结合qsort排序
来源:互联网 发布:爱淘宝现金红包 编辑:程序博客网 时间:2024/06/06 19:57
qsort的头文件是stdlib.h,noip允许使用这个头文件
一、对int类型数组排序
int num[100];
例如:
int cmp ( const void *a , const void *b )
{
qsort(num,100,sizeof(num[0]),cmp);
二、对char类型数组排序(同int类型)
char word[100];
例如:
int cmp( const void *a , const void *b )
{ return *(char *)a - *(int *)b; }
qsort(word,100,sizeof(word[0]),cmp);
三、对double类型数组排序(特别要注意)
double in[100];
int cmp( const void *a , const void *b )
{ return *(double *)a > *(double *)b ? 1 : -1; }
qsort(in,100,sizeof(in[0]),cmp);
四、对结构体一级排序
struct In
{ double data;
int cmp( const void *a ,const void *b)
{ return (*(In *)a)->data > (*(In *)b)->data ? 1 : -1; }
qsort(s,100,sizeof(s[0]),cmp);
五、对结构体二级排序
struct In
{ int x;
int y;
}s[100];
//按照x从小到大排序,当x相等时按照y从大到小排序
int cmp( const void *a , const void *b )
{ struct In *c = (In *)a;
struct In *d = (In *)b;
if(c->x != d->x) return c->x - d->x;
else return d->y - c->y;
}
qsort(s,100,sizeof(s[0]),cmp);
六、对字符串进行排序
struct In
{ int data;
char str[100];}s[100];
//按照结构体中字符串str的字典顺序排序
int cmp ( const void *a , const void *b )
{
qsort(s,100,sizeof(s[0]),cmp);
七、计算几何中求凸包的cmp
int cmp(const void *a,const void *b) //重点cmp函数,把除了1点外的所有点,旋转角度排序
{struct point *c=(point *)a;
struct point *d=(point *)b;
if( calc(*c,*d,p) < 0) return 1;
else if( !calc(*c,*d,p) && dis(c->x,c->y,p.x,p.y) < dis(d->x,d->y,p.x,p.y))
//如果在一条直线上,则把远的放在前面
return 1;
else return -1;
}
- 结构体结合qsort排序
- qsort 排序结构体
- 结构体二级排序 qsort
- qsort sort 结构体排序
- qsort 结构体二级排序
- qsort 结构体一级排序
- qsort 与 sort 对结构体排序
- qsort与sort结构体排序
- qsort 结构体中的字符串排序
- sort和qsort函数对结构体的二级排序
- qsort对数组字符串/结构体字符串排序
- qsort对多维数组和结构体的排序
- qsort和sort对结构体的排序
- qsort结构体排序 (初学者必知)
- 使用qsort排序结构体数组,使用bsearch查询结构体数组
- 结构体、qsort的使用
- qsort()与结构体相结合
- 基于比较的排序总结-结合qsort&&std::sort分析
- POJ 1159 Palindrome
- 黑马程序员:多线程学习总结
- 杭电 2063 过山车
- POJ 3041 Asteroids (匈牙利算法)
- Eclipse快捷键大全(转载)
- 结构体结合qsort排序
- poj 1003
- 火狐设置User Agent
- hdu1500
- 求两个或N个数的最大公约数(gcd)和最小公倍数(lcm)
- Spring MVC Thymeleaf
- 零基础unity3d游戏开发系列目录
- 约瑟夫环
- 查看证书 certmgr.msc