荔园在线
荔园之美,在春之萌芽,在夏之绽放,在秋之收获,在冬之沉淀
[回到开始]
[上一篇][下一篇]
发信人: huhaiming (一生只爱她), 信区: Program
标 题: Re: stdlib里面的快速排序和二分查找
发信站: 荔园晨风BBS站 (Thu Mar 18 11:57:21 2004), 站内信件
可以的。比较函数的大小关系是适当更改。
调用qsort时的参数也要注意更改。
int cmp(const void *p,const void *q)
{
struct node *r,*s;
r=(struct node*)p,s=(struct node*)q;
return r->info-s->info;
}
调用时: qsort(a,sizeof(a)/sizeof(a[0]),sizeof(struct node),cmp); //排序
//直接写成 qsort(a,5,sizeof(struct node),cmp); 也可以
【 在 kali (江火) 的大作中提到: 】
: 可不可以用如下结构排序?
: struct node
: {
: int info;
: char ch;
: }a[5];
: 以info为关键字排序。讨教。
: 【 在 huhaiming (一生只爱她) 的大作中提到: 】
: : C++的stdlib.h里有个qsort函数,用来快速排序的
: : cmp是比较函数,传去两个指针,返回一个大小关系
: : 自己写了cmp函数后,就可以用qsort了,具体的你可以找些相关的说明
: : 四个参数,第一个是起始地址,第二个是元素个数,第三个是元素长度,第四个是
: : 所用的比较函数
: : 具体的例子请参看下面的两个例子。一个是整数数组的排序,一个是字符串的排序
--
菩提本无树,明镜亦非台
本来无一物,何处惹尘埃
※ 来源:·荔园晨风BBS站 bbs.szu.edu.cn·[FROM: 61.144.235.39]
[回到开始]
[上一篇][下一篇]
荔园在线首页 友情链接:深圳大学 深大招生 荔园晨风BBS S-Term软件 网络书店