zoukankan      html  css  js  c++  java
  • 非递归二分法查找出值的下表

    public class BinarySearchClass
    {

    public static int binary_search(int[] array, int value)
    {
    int beginIndex = 0;// 低位下标
    int endIndex = array.length - 1;// 高位下标
    int midIndex = -1;
    while (beginIndex <= endIndex) {
    midIndex = beginIndex + (endIndex - beginIndex) / 2;//防止溢出
    if (value == array[midIndex]) {
    return midIndex;
    } else if (value < array[midIndex]) {
    endIndex = midIndex - 1;
    } else {
    beginIndex = midIndex + 1;
    }
    }
    return -1;
    //找到了,返回找到的数值的下标,没找到,返回-1
    }


    //start 提示:自动阅卷起始唯一标识,请勿删除或增加。
    public static void main(String[] args)
    {
    System.out.println("Start...");
    int[] myArray = new int[] { 1, 2, 3, 5, 6, 7, 8, 9 };
    System.out.println("查找数字8的下标:");
    System.out.println(binary_search(myArray, 8));
    }
    //end //提示:自动阅卷结束唯一标识,请勿删除或增加。
    }

  • 相关阅读:
    Chapter01_前言、入门程序、常量、变量
    面向对象知识点总结
    Java快捷键
    上线
    docker
    分页,过滤,搜索,排序
    Celery
    django-redis 缓存使用
    前台登录注册修订
    短信注册接口
  • 原文地址:https://www.cnblogs.com/yaohaitao/p/5439738.html
Copyright © 2011-2022 走看看