二分查找 C 、C++STL
来源:互联网 发布:淘宝双11秒杀技巧 编辑:程序博客网 时间:2024/06/05 05:28
C语言代码:
//查找一个数字w,若有序表中只有一个w;int bsearch(int *A,int x,int y,int v){ int m; while(x<y) { m=x+(y-x)/2; if(A[m]==v) return m; else if(A[m]>v) y=m; else x=m+1; } return -1;}//若有序表中有多个w,求w所在的区间;int lower__bound(int *A,int x,int y,int v) //下界;{ int m; while(x<y) { m=x+(y-x)/2; if(A[m]>=v) y=m; else x=m+1; } return x;}int upper__bound(int *A,int x,int y,int v) //上界;{ int m; while(x<y) { m=x+(y-x)/2; if(A[m]<=v) x=m+1; else y=m; } return x;}
C++ STL 代码:
bool cmp(int a,int b){ return a<b;}int main(){ int a[]={0,1,2,2,3}; sort(a,a+5,cmp); printf("%d\n",lower_bound(a,a+5,2,cmp)-a); printf("%d\n",upper_bound(a,a+5,2,cmp)-a); return 0 ;}
具体思想在小白书145页;
0 0
- 二分查找 C 、C++STL
- C++STL二分查找函数集及补充
- C 二分查找算法
- c 二分查找算法
- C语言:二分查找
- [C]算法 - 二分查找
- 二分查找C代码
- C 二分查找算法
- C 二分查找
- 【c语言】二分查找
- C语言 二分查找
- C 二分查找算法
- 二分查找 C语言
- c 二分查找
- 二分查找(C语言)
- c::关于二分查找
- C/C++二分查找
- C语言二分查找
- servlet几种跳转方法的路径怎么写
- hive中启动metastore
- 微信开发--如何存储并定时更新access_token
- LinkedBlockingQueue
- String中的常用方法
- 二分查找 C 、C++STL
- PriorityBlockingQueue
- HBase的Block Cache实现机制分析
- Ubuntu常用命令
- 733A Grasshopper And the String codeforces(水题)
- Linux下Gcc生成和使用静态库和动态库详解(转)
- linux中top、du、df、netstat、date、grep、ps、find文件格式以及文件内容排序去重
- Java线程:概念与原理
- android群英传笔记--第四章--ListView使用技巧(一)