折半查找

int Search_Bin(unsort[], int K) {
    int low=1, high=ST.length;
    int mid;
    while (low<=high) {
        mid=(low+high)/2; //mid=low+ (key-a[low])/(a[high]-a[low]) *(high-low)
        if (K<unsort[mid])
            high=mid-1;     //在左区间继续查找
        else if (K>unsort[mid])
            low=mid+1;  //在右区间继续查找
        else  return mid;   //查找成功的出口
   } 
   return 0;      //查找失败的出口
}
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容