1. 程式人生 > >二分查詢 java遞迴和非遞迴實現

二分查詢 java遞迴和非遞迴實現

	public static int rank(int []a , int x, int lo, int hi)
	{
		if(hi<lo)
			return -1;
		if(a[lo+(hi-lo)/2]>x)
			return rank(a,x,lo,lo+(hi-lo)/2-1);
		else if(a[lo+(hi-lo)/2]<x) 
			return rank(a,x,lo+(hi-lo)/2+1,hi);
		else
			return a[lo+(hi-lo)/2];	
	}