欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

折半查找法

程序员文章站 2022-03-15 11:43:23
...
package com.sort;

public class HalfRearch {
public static void main(String[] args) {
    int[] arr={2,6,9,15,21,30,35,63};
    halfSearch(arr,30);
    
}
public static int halfSearch(int[] data, int value) {
    // 开始下标
    int startPos = 0;
    // 结束下标
    int endPos = data.length - 1;

    while (startPos <= endPos) {
        int midPos = (startPos + endPos) / 2;
        //返回下标
        if (value == data[midPos]) {
            System.out.println(midPos);
            return midPos;
            
        } else if (value > data[midPos]) {
            
            startPos = midPos + 1;
        } else if (value < data[midPos]) {
            endPos = midPos - 1;
        }
    }
    //没有此元素
    return -1;
}
}