假设表中元素是按升序排列,将表中间位置记录的关键字与查找关键字比较,如果两者相等,则查找成功;否则利用中间位置记录将表分成前、后两个子表,如果中间位置记录的关键字大于查找关键字,则进一步查找前一子表,否则进一步查找后一子表。
4、二分查找法
int binarySearch(*a ,int key){
int low=1;
int hight=a.length;
while(low<hight){
int mid=(low+heigh)/2;
if(key<a[mid]){
heigh=mid-1;
}else if(key>a[mid])
{
low=mid+1;
}else{
return mid;
}
}
}