您的位置:首页 > 其它

二分查找非递归实现(补充)

2020-07-14 05:50 85 查看

之前介绍了二分查找的递归实现,现在简单补充一下二分查找的非递归实现,顺带回忆一下思路。过程比较简单,所以直接给出完整代码:

/**
*
* @param arr 查找数组
* @param value 查找元素
* @return 查找值的位置(下标)
*/

public static int binarySearch03(int[] arr,int value){
int left = 0;
int right = arr.length - 1;
int mid = 0;
while (left <= right){
mid = (left + right) / 2;
if (value > arr[mid]){//向右查找
left = mid + 1;
}else if (value < arr[mid]){//向左查找
right = mid - 1;
}else {
return mid;//找到了
}
}
//没有找到
return -1;
}

总结:二分查找的递归实现和非递归实现都是需要掌握的。

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: