自写简易vector实现的二分查找
来源:互联网 发布:淘宝详情页多少钱一个 编辑:程序博客网 时间:2024/06/09 21:07
#include<iostream>using namespace std;#include<vector>using std::vector;#define SIZE 15int isort(vector<int>& vint,int x){ int low=0,high=vint.size()-1,mid; while(low<=high) { mid=(low+high)/2; if(vint[mid]==x) { cout<<"end:"<<vint[mid]<<endl; return mid; } else if(x<vint[mid]) { cout<<vint[mid]<<endl; high=mid-1; } else { cout<<vint[mid]<<endl; low=mid+1; } } return -1;}int main(){ vector<int> vec(SIZE); for(int i=0;i!=SIZE;i++) vec[i]=i; for(i=0;i!=SIZE;i++) cout<<vec[i]<<","; cout<<endl; cout<<isort(vec,14)<<endl; return 0;}