您的位置:首页 > 编程语言 > Java开发

Java查找算法之二分法查找

2016-09-19 23:23 274 查看
前言:讲究的就是一个清晰

原文出处:http://blog.csdn.net/u014158743/article/details/52590544

class Demo
{
public static void main(String[] args)
{
//二分法查找:前提条件:被查找的数组必须是有序的

int[] arr = {23,34,45,56,67,78,89,120};
int key = 99;

int index = halfSearch(arr,key);
System.out.println("index="+index);
}

//二分法查找
//结果:下标或-1
//参数:数组和被找的数
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])
max = mid-1;
else
return mid;
}
return -1;
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  Java基础