#include <vector>
#include <iostream>
using namespace std;
vector<int> data;
void createData(int n){
//存儲小於n的正偶數
for (int i=0;i<n;i+=2)
data.push_back(i);
}
bool search(int value,int& sign){
int start=0;int end=data.size()-1;int mid;
while(start<=end){
mid = (end + start)/2;
if (data.at(mid) == value)
{
sign = mid;
return true;
}else if (data.at(mid) < value)
{
start = mid + 1;
}else{
end = mid -1;
}
}
sign = -1;
return false;
}
int _tmain(int argc, _TCHAR* argv[])
{
createData(100);
int sign,ret;
for (int i=-1;i<120;i+=15)
{
ret = search(i,sign);
cout<<"i="<<i<<"; search返回:"<<ret<<"; sign="<<sign<<endl;
}
getchar();
return 0;
}
c++ 二分查找法源代碼
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.