二分查找法(非遞歸)


public class BinarySearchNoRecur {

	public static void main(String[] args) {
		// TODO Auto-generated method stub
			int[] arr={1,2,3,4,5,7,10,23};
			int index=binarySearch(arr,23);
			System.out.println("index "+index);
	}
	
	public static int binarySearch(int[] arr,int target)
	{
		int left=0;
		int right=arr.length-1;
		while(left<=right)
		{
			int mid=(left+right)/2;
			if(arr[mid]==target)
			{
				return mid;				
			}else if(arr[mid]>target)
			{
				right=mid-1;
				
			}else{
				
				left=mid+1;
			}			
		}	
		return -1;
	}

}

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章