博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
手写二分查找
阅读量:5981 次
发布时间:2019-06-20

本文共 749 字,大约阅读时间需要 2 分钟。

import java.util.Arrays;

public class binarySearch {
    public static void main(String[] args) {
        int[] arr = { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 };
        int index = binarySearch(arr, 6);
        System.out.println("这个数对应的索引是 :" + index);
    //    System.out.println(Arrays.binarySearch(arr, 6));
    }
    public static int binarySearch(int[] arr, int zhi) {
        int qi = 0; //数组起始值
        int zhong = arr.length - 1; //数组的末值
        int index = -1;  //定义一个下标
        
        while (qi <= zhong) {
            int suoyin = (qi + zhong) / 2; //获取一个中间值得索引;
            
            int guess = arr[suoyin];       //中间索引对应的值
            if (guess >= zhi) {             //中间索引与输入的值比较
                zhong = suoyin - 1;           //比较后的范围重新定义
            }
            if (guess <= zhi) {
                qi = suoyin + 1;
            }
            if (guess == zhi) {
                index = suoyin;         //相等直接跳出
                break;
            }
        }
        return index;                    //返回索引
    }
}

转载于:https://www.cnblogs.com/FuckJava/p/8893832.html

你可能感兴趣的文章
Linux备份ifcfg-eth0文件导致的网络故障问题
查看>>
2018年尾总结——稳中成长
查看>>
通过jsp请求Servlet来操作HBASE
查看>>
Shell编程基础
查看>>
Shell之Sed常用用法
查看>>
Centos下基于Hadoop安装Spark(分布式)
查看>>
mysql开启binlog
查看>>
设置Eclipse编码方式
查看>>
分布式系统唯一ID生成方案汇总【转】
查看>>
并查集hdu1232
查看>>
Mysql 监视工具
查看>>
Linux Namespace系列(09):利用Namespace创建一个简单可用的容器
查看>>
博客搬家了
查看>>
Python中使用ElementTree解析xml
查看>>
linux的日志服务器关于屏蔽一些关键字的方法
查看>>
mysql多实例实例化数据库
查看>>
javascript 操作DOM元素样式
查看>>
HBase 笔记3
查看>>
【Linux】Linux 在线安装yum
查看>>
Atom 编辑器系列视频课程
查看>>