qsort与bsearch学习
2016-06-20 20:51
253 查看
排序算法有很多,搜索算法也很多。c语言提供了qsort和bsearch这两个库函数,今天学习了一下,感觉很实用。
下面是测试代码:
下面是测试代码:
#include<stdio.h> #include<stdlib.h> #include<time.h> int cmp(const void*,const void*); int main() { int s[]={3,4,5,6,2,1}; /*参数 1.待排序数组首地址 2.数组中待排序元素个数 3.待排序元素大小 4.比较函数*/ qsort(s,sizeof(s)/sizeof(s[0]),sizeof(s[0]),cmp); int i; for(i=0;i<6;i++) printf("%d ",s[i]); printf("\n"); srand(time(0)); int key = rand()%10+1; /*参数 1.要查找的元素地址 2.待查找的数组首地址 3.待查找元素个数 4.待查找的元素大小 5.比较函数*/ //注意 bsearch使用前,要对s进行以cmp为比较函数的qsort if(bsearch(&key,s,sizeof(s)/sizeof(s[0]),sizeof(s[0]),cmp)!=NULL) printf("YES\n"); else printf("NO\n"); return 0; } /*返回值<0 a排在b前面 返回值>0 a排在b后面*/ int cmp(const void* a,const void*b) { return *(int*)a - *(int*)b; }
相关文章推荐
- hdu3523(费用流)
- 安装系统提示Units specified don’t exist SHSUCDX can’t install怎么办解决?
- linux服务器的几个常用指令
- 笔试题81. 腾讯2017暑期实习生笔试题
- 设置Textview最大长度,超出显示省略号
- maven详解二、命令
- 按键点击事件
- 一些扫描工具及基础知识
- 数据序列化以及偏好设置
- java集合框架(一)
- maven详解一、前言
- 高速LVDS接口信号完整性处理实例
- [SDN]OpenFlow报头解析
- MIME类型大全
- 团队项目:第八关攻略
- 测试与维护
- leetcode 34. Search for a Range
- 怎样做老毛桃软件制作U盘启动盘和重新安装系统
- php常用正则表达式
- Java构造函数