0
点赞
收藏
分享

微信扫一扫

Java算法学习二:二分法


文章目录

  • ​​一、前置条件一条有顺序的数组​​
  • ​​二、查找代码​​


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};

一、前置条件一条有顺序的数组

二、查找代码

/**
* @author 杨虎成
* phone:18956043585
* @date 2022/4/26
*/
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


举报

相关推荐

0 条评论