package Search;
public class BinarySearch1 {
/**
* 非递归形式
*
* 形参:@数组 @要查找的关键字
*
* 找到关键字后打印其位置
*
* return 是否找到关键字
*/
public boolean bSearch(int[] a,int key)
{
int left=0;
int right=a.length-1;
int middle;
//当左边界小于或等于右边界时就算没有找到,退出循环
while(left<=right)
{
//每次查找要重新设定标志位
middle=(left+right)/2;
//如果所查找的数据大于标志位则在数组右半段再次查找
if(key>a[middle])
{
left=middle+1;
}
//如果所查找的数据小于标志位则在数组左半段再次查找
else if(key<a[middle])
{
right=middle-1;
}
//如果找到数据则输出其位置并返回true
else if(key==a[middle])
{
System.out.println("找到了。。。"+middle);
return true;
}
}
return false;
}
}
查找&&非递归形式查找
最新推荐文章于 2020-10-12 14:31:50 发布