使用java中的while循环实现折半二分查找算法
前言
之前使用for循环写过一个二分查找,这次使用while循环实现二分查找,一些逻辑思路都在代码注释中了.
一、while循环实现折半二分查找算法
int[] nums={1,2,3,4,5,6,7};
int key=3,start=0,end=nums.length-1;
//设置循环区间
while (start<=end){
//右移符号要括起来,否则会优先计算
int md=start+((end-start)>>>1);
if (nums[md]<key){
//md+1表示当前md下标位置不再去重复判断
start=md+1;
}else if (nums[md]>key){
end=md-1;
}else if (nums[md]==key){
System.out.println(md);
break;
}
}
if (start>=nums.length){
System.out.println("没找到");
}
二.小结
本章使用while循环实现了二分查找算法,对于算法小白,这个算法可以说是非常不错的练手算法,逻辑细节很多,当然也不只这一种解法,仅供参考.
有哪里不足或者有更好的建议,欢迎留言吐槽,有哪里不懂的小伙伴,可以私信我,我会一一答复,感谢认可,感谢支持.