java---二分查找法

xiaoxiao2025-12-05  3

/** * 二分查找法 * 注: 数组元素必须有顺序 * */ public class sort4 { public static void main(String[] args) { int [] arr ={1,2,3,4,5,6,7,8}; int a = binarySerarch(arr,7); // 从这些数中查找7返回这个数字的索引 System.out.println(a); } private static int binarySerarch(int[] arr, int key) { int min = 0; // 最小的索引 int max = arr.length - 1; // 最大的索引 while(min<=max){ System.err.println("最大索引" + max + "---" + "最小索引:" + min); int mid = (min + max)/2; // 中间索引 int midVal = arr[mid]; // 中间索引的值 if (midVal<key) { // 猜小了 min = mid + 1; }else if(midVal>key) { max = mid-1; }else { return mid; } } return -1; } }

转载请注明原文地址: https://www.6miu.com/read-5040389.html

最新回复(0)