/*************************************************************************
> File Name: BinarySearch.cpp
> Author:
> Mail:
> Created Time: Sun 09 Apr 2017 07:47:55 PM CST
************************************************************************/
#include<iostream>
#include<vector>
using namespace std;
int main()
{
vector<int> ivec;
int n;
cin>>n;
for(int i = 0; i < n; ++i)
{
ivec.push_back(2 * i + 3);
cout<<2 * i + 3<<" ";
}
cout<<endl<<"Pleasae type the number you wanna search: ";
int sought;
cin>>sought;
auto beg = ivec.cbegin();
auto end = ivec.cend();
auto mid = beg + (end - beg) / 2;
while(mid != end && *mid != sought)
{
if(sought < *mid)
end = mid;
else
beg = mid + 1;
mid = beg + (end - beg) / 2;
}
if(*mid == sought)
cout<<"the index of "<<sought<<" is "<<int(mid - ivec.cbegin())<<".(begin as 0)"<<endl;
else
cout<<"not found."<<endl;
return 0;
}
BinarySearch(二分搜索)
原创
©著作权归作者所有:来自51CTO博客作者月来客栈的原创作品,请联系作者获取转载授权,否则将追究法律责任
上一篇:ls实现列文件按时间排序
下一篇:练习 3.17
提问和评论都可以,用心的回复会被更多人看到
评论
发布评论
相关文章
-
二分查找。BinarySearch
),这样在查找所要查找的元素时,首先与序列中间的元素进行比较,如果大于这个元素,就在当前序列的
二分查找 二分查找算法 初始化 死循环 -
Java二分查找binarysearch递归
...
递归 数组 java i++ Java -
二分搜索技术
分治法的基本思想:将一个规模为n的问题,分解为k个规模较小的子问题,这些子问题互相独立且与原问题相同。递归的解
ios 二分搜索 #include 分治法 递归