`
lxcaoxin
  • 浏览: 125061 次
  • 性别: Icon_minigender_1
  • 来自: 南宁
社区版块
存档分类
最新评论

java-二分查找

    博客分类:
  • Java
阅读更多

二分搜索的前提为:必须为有序序列,可用快速排序法进行排序

class BinaryFind
{
	/////必须是有序序列才能进行二分查找,可用快速排序进行排序
	public void find(int leftIndex,int rightIndex,int val,int arr[])
	{
		///首先找到中间数
		int midIndex=(rightIndex+leftIndex)/2;
		int midVal=arr[midIndex];
		if(rightIndex>=leftIndex){
			
		///如果要找的数val比midVal大
		if(midVal>val)
		{
			///在arr左边找,采用递归
			find(leftIndex,midIndex-1,val,arr);
		}
		else if(midVal<val)
		{
			///在arr右边的数去找
			find(midIndex+1,rightIndex,val,arr);
		}
		else if(midVal==val)
		{
			System.out.println("找到下标"+midIndex);
		}
		
		}
		else
		{
			System.out.println("不能找到-->"+val);
		}
	}
}
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics