二分查找的相关内容
来源:互联网 发布:淘宝网男夏装 编辑:程序博客网 时间:2024/06/06 09:11
//二分查找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;}//查找元素值相同的子序列中最靠前的下标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;}//实际上STL中包含了lower_bound,upper_bound的实现;
//以下代码实现的是在给定的一组数中,输出闭区间a,b内整数的个数;
#include<cstdio>#include<algorithm>using namespace std;int v[10000];int main(){ int n, m, a, b; scanf("%d%d", &n, &m); for(int i = 0; i < n; i++) scanf("%d", &v[i]); sort(v, v+n); for(int i = 0; i < m; i++) { scanf("%d%d", &a, &b); printf("%d\n", upper_bound(v, v+n, b)-lower_bound(v, v+n, a)); }}
0 0
- 二分查找的相关内容
- 二叉树------二叉查找树的相关内容
- 二分查找和递归的二分查找
- 各种常用类,hashcode相关,简单排序,二分查找,显示时间相关内容
- 二分查找的思考
- 二分查找的总结
- vector的二分查找
- 二分查找的应用
- 二分查找的扩展
- 无处不在的二分查找
- 改进的二分查找
- 简单的二分查找
- 二分查找的扩展
- 二分查找的感悟
- 二分查找的实现
- 二分查找的技巧
- 经典的二分查找
- 二分查找的扩展
- LRU缓存
- STL algorithm算法count(10)
- 菜鸟说说如何使用unity vs
- oracle 如何查看创建表等数据库对象时的DDL语句
- ARM寄存器(R13/R14/R15)
- 二分查找的相关内容
- getting started with laravel 4!chapter 3 Your First Application翻译
- 美股评论:苹果不会告诉你的十件事
- mysql远程链接问题 ERROR 2003 (HY000): Can't connect to MySQL server
- linux下将不同线程绑定到不同core和cpu上 pthread_setaffinity_np
- NSNotificationCenter消息通信机制介绍(KVO)
- 移动互联网营销时代 APP更要顺势而为
- maven加载本地的jar依赖
- flex在使用itemrender时,再次刷新数据时itemrender错乱问题