Java中泛型二分查找,继承Comparable接口

优点是比较次数少,查找速度快,平均性能好;其缺点是要求待查表为有序表,且插入删除困难。

算法很简单,直接上代码。

public static>int BinarySearch(E [] list,E key){
	 int mid,low=0,high=list.length-1;
	 while(low<=high){
		 mid=(low+high)>>1;
	 if(list[mid].compareTo(key)==0)
		 return mid;
	 else {
		 if(list[mid].compareTo(key)<0)
			 low=mid+1;
		 else
			 high=mid-1;
	 }
	 }
	 return -1;
}


你可能感兴趣的:(Java中泛型二分查找,继承Comparable接口)