二分法用于关键码有序的线性表
模板
int Binary_search(int* nums,int target){
int left=0,right=nums.size();
while(left<=right){
//等于号在left right加1减1时是必要的
int middle=(nums[left]+nums[right])/2;
if(nums[middle]>target) right=middle-1;
else if(nums[middle]<target) left=middle+1;
else return middle;
}
return 0;
}
时间复杂度
o(logn)