二分查找算法

17
五月
2021
package org.lht.boot.lang.suanfa;

/**
 * @author haitao.li
 * @description: 二分查找也称折半查找(Binary Search),它是一种效率较高的查找方法。
 * 但是,折半查找要求线性表必须采用顺序存储结构,而且表中元素按关键字有序排列。
 * @date 2021/5/17 10:07
 */
public class Search二分查找 {

    public static void main(String[] args) {
        int[] source = {1, 3, 5, 7, 10, 12, 43, 67, 89};

        int target = 67;
        int start = 0;
        int end = source.length - 1;
        while (start < end) {
            int mid = (start + end) / 2;
            if (source[mid] == target) {
                System.out.println(source[mid]);
                break;
            }
            if (source[mid] < target) {
                start = mid + 1;
            } else {
                end = mid - 1;
            }

        }
    }
}

TAG

网友评论

共有访客发表了评论
请登录后再发布评论,和谐社会,请文明发言,谢谢合作! 立即登录 注册会员