【算法】有序表查找——二分法

二分法用于关键码有序的线性表

模板

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)

猜你喜欢

转载自blog.csdn.net/qq_37581730/article/details/108649738