需求:折半查找则是去有序数组中间的那个数与要查找的数字进行比较,如果是则找到
如果不是则根据数组的排列顺序,最大索引=中间索引-1,最小索引=中间索引+1
由此反复知道找到为止!
代码如下:
int number=sc.nextInt();
int count=a.length;
for(int i=0,max=count,moi=count/2,min=0;max>min;moi=(max+min)/2)
{
if(a[moi]==number)
{
System.out.println("yes--"+moi);
break;
}
if(a[moi]>number)
{
min=moi+1;
}
if(a[moi]<number)
{
max=moi-1;
}
}
OK,程序运行顺利,(*^__^*) 嘻嘻…… |
|