#include<iostream>#include<vector>#include<stdlib.h>#include<stdio.h>usingnamespacestd;
int binary_search(vector<int> &vec,int num){
int begin = 0;
int end = vec.size()-1;
while(begin<end){
int mid = begin + ((end-begin)/2);
if(num<vec[mid]){
end = mid -1;
}
elseif(num>vec[mid]){
begin = mid +1;
}
else{
return mid;
}
}
return -1;
}
int main(){
int arr[20] = {1, 2, 5, 8, 11, 33, 44, 55, 66, 77, 88, 99, 100, 103, 105, 110, 120};
vector<int> vec(arr,arr+20);
int num = 77;
int place = binary_search(vec,num)+1;
printf("经过查找,num是在vec上的第%d的位置!",place);
//system("pause");//在vs2010上需要用到这行代码return0;
}
二分查找#include&lt;iostream&gt;#include&lt;vector&gt;#include&lt;stdlib.h&gt;#include&lt;stdio.h&gt;using namespace std;int binary_search(vector&lt;int&gt; &amp;vec,int num){ int begin = 0;...