栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

Java算法学习二:二分法

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Java算法学习二:二分法

文章目录
  • 一、前置条件一条有顺序的数组
  • 二、查找代码


数组声明方式
1.int [] aa;
2.int aa [];不推荐

数组实例化方式(必须要声明数组大小)

  1. int [] aa=new int[555];//默认555
  2. int [] aa=new int[]{1,2,3,4,5,6,7,8,9};
  3. int [] aa={1,2,3,4,5,6,7,8,9};
一、前置条件一条有顺序的数组 二、查找代码
public class Main {

    public static void main(String[] args) {

        int[] a = {10, 15, 20, 31, 54, 75, 96, 150,188, 999};
        int low = 0;
        int high = a.length - 1;

        int search = 188;//搜索的目的值
        int mid;//记录中间值

        int num=0;//记录搜索次数

        while (low < high) {
            num++;
            mid = low +(high-low)/ 2;
            if (a[mid] == search) {
                System.out.println("在第"+num+"次找到了,找到的下标为:"+mid);
                return;
            }
            if (search < a[mid]) {//搜索的比中间值小
                high = mid;//将最大的定义为中间值
            }
            if (a[mid] < search) {//搜索的比中间值大
                low = mid;//将最小的定义为中间值
            }
        }

    }
}

结果
在第4次找到了,找到的下标为:8

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/836718.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号