首页 > 其他 > 详细

模板:qsort+bsearch应用

时间:2014-02-14 22:53:47      阅读:404      评论:0      收藏:0      [点我收藏+]

(1)qsort:

功 能: 使用快速排序例程进行排序
头文件:stdlib.h
用 法: void qsort(void *base,int nelem,int width,int (*fcmp)(const void *,const void *));
参数: 1 待排序数组首地址
2 数组中待排序元素数量
3 各元素的占用空间大小
4 指向函数的指针,用于确定排序的顺序
 
(2)bsearch:
用 法: void *bsearch(const void *key, const void *base, size_t nelem, size_t width, int(*fcmp)(const void *, const *));

参数:
第一个:要查找的关键字。
第二个:要查找的数组。
第三个:指定数组中元素的数目。
第四个:每个元素的长度(以字符为单位)。
第五个:指向比较函数的指针。
 
功能: 函数用折半查找法在从数组元素buf[0]到buf[num-1] 匹配参数key。如果函数compare 的第一个参数小于第二个参数,返回负值;如果等于返回零值;如果大于返回正值。数组buf 中的元素应以升序排列。函数bsearch()的返回值是指向匹配项,如果没有发现匹配项,返回NULL
 
bubuko.com,布布扣
 1 struct STEP
 2 {
 3     int x;
 4     int y;
 5 };
 6 
 7 int cmp(const void *a,const void *b)
 8 {
 9     STEP step1 = *((STEP *)a);
10     STEP step2 = *((STEP *)b);
11     if(step1.x == step2.x) return step1.y - step2.y;
12     else return step1.x - step2.x;
13 }
14 
15 qsort(steps,n,sizeof(STEP),cmp);
16 bsearch(&step,steps,n,sizeof(STEP),cmp);
bubuko.com,布布扣

参考资料:

http://baike.baidu.com/view/982231.htm

http://baike.baidu.com/view/653958.htm

模板:qsort+bsearch应用

原文:http://www.cnblogs.com/mobileliker/p/3548870.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!