您的位置:首页 > 其它

二分法查找数组中的数

2016-11-25 16:03 141 查看
import java.util.Arrays;

class Demo34 

{
public static void main(String[] args) 
{
//二分法查找:前期条件,被查找的数组要是有序的
int[] arr= {2,34,56,78,98,100};
int key =89;
int index=halfSearch(arr,key);
System.out.println("index="+index);
}
public static int halfSearch(int[] arr,int key)
{
int min =0,max=arr.length-1,mid;
while(min<max)
{
mid=(min+max)>>1;
if(key>arr[mid])
min=mid+1;
else if(key==arr[mid])
return mid;
else 
max= mid-1;
}
return -1;
}
}

同样是定义二分法为一个函数,注意,其中使用到了>>1,意义是右移1位,相当于/2,注意复习位运算符的知识。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: