题目内容:给定一个有序整型数组, 实现二分查找。
思路:1.首先我们要知道二分查找必须是有序数组,采用折半的方法,对于数据内容较大的数组来 说非常节约空间。
2.
我们设定第一个元素下标为left,最后一个元素下标为right。可得中间元素下标为mid。如 果我们想找的元素为5,那么可得mid所对应的元素是<5的。所以,mid所对应的元素的左 边的元素就可以排除了。所以我们可以把原来left的值更新为mid的值。
3.和思路2同理,假如所找的元素在mid左边,把原来的right值更新为mid的值即可。
4.
反复进行思路2,3。最后我们得到,当left>=right时,若还未找到设定的元素,那么以后
以后就再也找不到了。所以在这种情况下,我们应让程序停止。
代码:
public class Test {
public static int mybinarySearch(int[] array,int key){
int left=0; //设置第一个元素下标
int right=array.length-1; //设置最后一个元素下标
while (left<=right){
int mid=(left+right)/2; //设置中间元素下标
if (array[mid]>key){ //思路1
right=mid-1;
}else if (array[mid]



