二分查找
2010-07-06 10:52
134 查看
#include<iostream> #include<cstdlib> #include<vector> #include<algorithm> using namespace std; bool binrary_find(int *a,int p,int r,int val){ if(p<=r){ int q=p+(r-p)/2; if(a[q]==val) return true; else if(a[q]>val) return binrary_find(a,p,q-1,val); else return binrary_find(a,q+1,r,val); } return false; } int main() { int a[]={21,3,85,69,895,-85,263,52}; int len=sizeof(a)/sizeof(*a); sort(a,a+len); int val=0; while(cin>>val){ if(binrary_find(a,0,len-1,val)) cout<<"Find/n"; else cout<<"Not Find/n"; } system("pause"); }
二分查找是针对已经排序的数列!
相关文章推荐
- POJ 2503 字符串查找 qsort+二分查找
- HDU 2141 二分查找
- 二分查找
- usaco No Change, 2013 Nov 不找零(二分查找+状压dp)
- 二分查找容易忽略的一个bug
- Cup(二分查找)
- 二分查找
- C++算法之 二分查找
- C语言实现:折半查找(二分查找)
- 算法题16 二分查找及相关题目
- Babelfish(二分查找,字符串的处理略有难度,用sscanf输入)
- 【算法基础】二分查找
- 二分查找
- php 二分查找
- 查找算法 二分查找
- 快速排序以及二分查找的实现
- 二分查找实现
- 二分查找
- hdu 2578 Dating with girls(1) 排序+二分查找 水题
- STL 中 lower_bound 与 upper_bound 与 二分查找