您的位置:首页 > 编程语言 > C语言/C++

二分搜索的3种正确写法

2014-06-28 20:55 239 查看

(1)闭区间写法

while(left<=right){
mid=(left+right)/2;
if(array[mid]==value) return mid;
if(array[mid]>value) right=mid-1;
else left=mid+1;
}

(2)左闭右开区间写法

while(left<right){
mid=(left+right)/2;
if(array[mid]==value) return mid;
if(array[mid]>value) right=mid;
else left=mid+1;
}

(3)左开右闭区间写法

while(left<right){
mid=(left+right+1)/2;
if(array[mid]==value) return mid;
if(array[mid]>value) right=mid-1;
else left=mid;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  ACM CC++ 算法