二分法查找
上一篇 /
下一篇 2012-06-12 22:39:23
/ 个人分类:java
public class test1 {
static int numArr[];
//二分法查找
static int find(int value)
{
int size = numArr.length;
int mid, right, left;
left=0;
right=size-1;
//value 最小
if(value<numArr[0]) return size;
//value 最大
if(value>numArr[right]) return size;
//鉴于之间
while(true)
{
mid=(left+right)/2;
if(value==numArr[mid]) return mid;
else if(left ==right) return size;
else if(value>numArr[mid] )
{
left=mid+1;
}
else{
right=mid-1;
}
}
}
public static void main(String[] args) {
// TODO Auto-generated method stub
numArr= new int[9];
for(int i=0; i<9;i++)
{
numArr[i]=i;
}
System.out.print(find(4));
}
}
收藏
举报
TAG: