二分查找(非递归)

  1. 循环重置起始于结束小标
public class HalfSerach {

    public static void main(String[] args) {
        int[] array = {
                1, 3, 5, 7, 9, 11, 13, 15, 17, 19
        };
        HalfSerach hs = new HalfSerach();
        hs.halfSerach(array, 5);
    }

    /**
     * 二分查找,非递归
     */
    public void halfSerach(int[] array, int target) {
        int start = 0;
        int end = array.length - 1;
        int mid = -1;
        while (start < end) {
            mid = (start + end) / 2;
            if (array[mid] == target) {
                break;
            } else if (array[mid] > target) {
                end = mid - 1;
            } else {
                start = mid + 1;
            }
        }
        if (start >= end) {
            mid = -1;
        }
        System.out.println(mid);
    }
}
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • ORA-00001: 违反唯一约束条件 (.) 错误说明:当在唯一索引所对应的列上键入重复值时,会触发此异常。 O...
    我想起个好名字阅读 6,062评论 0 9
  • 国家电网公司企业标准(Q/GDW)- 面向对象的用电信息数据交换协议 - 报批稿:20170802 前言: 排版 ...
    庭说阅读 12,624评论 6 13
  • 官网 中文版本 好的网站 Content-type: text/htmlBASH Section: User ...
    不排版阅读 4,745评论 0 5
  • 刚刚回顾完昨天晚上的《出发.遇见》的分享,吴校长的一句“有多久没有夸夸自己了”让我为之一振,确实大多时候都是夸他人...
    大名042韩慧玲阅读 240评论 0 1
  • 千万不要低估一只蚊子的战斗力,它总能巧妙的运用各种技战术,或偷袭或闪击或强攻或迂回或包抄……总之用你能想到的任何战...
    简垚阅读 609评论 0 0

友情链接更多精彩内容