优点是比较次数少,查找速度快,平均性能好;其缺点是要求待查表为有序表,且插入删除困难。
算法很简单,直接上代码。
public static<E extends Comparable <E>>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;
}
版权声明:本文为博主原创文章,未经博主允许不得转载。