Advertisement

二分查找-C语言(代码练习)

阅读量:

要求:
在已排序的整型数组中定位特定数值
二分查找:
针对一个按照顺序排列的数据集合,判断目标数值是否存在其中,若存在则输出其对应的索引位置,反之则输出未找到信息
具体实施步骤:

  1. 确定数组的中间索引位置
  2. 对比中间索引处的数值与待查找的目标值key是否一致
    a: 若一致,则成功定位,输出对应索引并终止循环
    b: 若key小于arr[mid],则目标值可能位于arr[mid]左侧区域,继续在该区域执行二分查找操作
    c: 若key大于arr[mid],则目标值可能位于arr[mid]右侧区域,继续在该区域执行二分查找操作
复制代码
    如果找到返回下标,否则继续,直到区间中没有元素时,说明key不在集合中,打印找不到
    
    
      
    

常见错误点:

  1. right变量所代表区间的右侧部分取值,该数值将直接影响后续的编写方式
  2. while循环判断条件中是否包含等号的使用
  3. 确定中间位置的计算方式,若直接采用两数相加后除以2的方式,可能会引发溢出问题
  4. 在调整left与right边界值时,无法确定是否需要进行加1或减1的操作
    */
复制代码
    // 方法一,采用[left, right] 区间

全部评论 (0)

还没有任何评论哟~