在有序数组中,查找目标值所在的位置
[7, 40, 74, 76, 76, 78, 79, 93, 97, 98]
76
项目:day0504_二分法查找
类:day0504.Test1
package day0504;
import java.util.Arrays;
import java.util.Random;
import java.util.Scanner;
public class Test1 {
public static void main(String[] args) {
//随机产生一个乱序数组
int[] a = suiJi();
//对数组a排序
//基本类型数组,采用优化的快速排序算法
Arrays.sort(a);
System.out.println(Arrays.toString(a));
System.out.print("查找的目标值:");
int t = new Scanner(System.in).nextInt();
//在有序数组a中,查找目标值t的位置
//如果找不到,返回负数无意义值
int index = binarySearch(a, t);
if(index >= 0) {
System.out.println("下标位置:"+index);
} else {
System.out.println("目标值不存在");
}
}
private static int[] suiJi() {
//产生一个5+ [0,6)范围的随机整数
//存到变量 n
int n = 5+ new Random().nextInt(6);
二分法查找
最新推荐文章于 2023-12-03 19:34:09 发布
本文详细介绍了二分查找算法的工作原理,包括其在有序数组中的应用,以及如何通过递归和迭代实现该算法。同时,还探讨了二分查找的时间复杂度和优化策略,帮助读者掌握这一高效的搜索技术。
摘要由CSDN通过智能技术生成