文章目录
- 一、前置条件一条有顺序的数组
- 二、查找代码
数组声明方式
1.int [] aa;
2.int aa [];不推荐
数组实例化方式(必须要声明数组大小)
- int [] aa=new int[555];//默认555
- int [] aa=new int[]{1,2,3,4,5,6,7,8,9};
- 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