折半查找又称二分查找,顾名思义,就是每次将一组已排序的数据取中间位置middle,最低位low,最高位high,与要查找的目标数据进行对比,如果数据比middle数大,就将low坐标移到middle+1;若数据比middle数小,就将high坐标移到middle-1的位置。最终匹配到的一定是middle。
int searchInsert(int* nums, int numsSize, int target){
int low=0;
int high=numsSize-1;
int middle=0;
while(low <= high){
middle=low+(high-low)/2;
if(target>nums[middle]){
low=middle+1;
}else if (target<nums[middle]){
high=middle-1;
}
else if(target==nums[middle]){
return middle;
}
}
}
因篇幅问题不能全部显示,请点此查看更多更全内容
Copyright © 2019- yrrf.cn 版权所有 赣ICP备2024042794号-2
违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com
本站由北京市万商天勤律师事务所王兴未律师提供法律服务