首页 > 编程 > Java > 正文

Java 二分查找法

2019-11-06 06:12:17
字体:
来源:转载
供稿:网友

根据数值获取下标位置

public class Test {/*** @param args* @throws IOException */public static void main(String[] args) {int[] arr = {12,14,15,53,435,888,904};int number = add(arr, 53);System.out.PRintln(number);}public static int add(int[] arr, int target) {int max = arr.length - 1;int min = 0;int mid = (max + min)/2;while (true) {if (target > arr[mid]) {min = mid+1;}else if (target < arr[mid]) {max = mid - 1;}else {return mid;}if (max < min) {return -1;}mid = (min+max)/2;}}}

也可以调用系统中的方法

           二分查找法必须是有序

int[] arr = {12,14,15,53,435,888,904};Arrays.sort(arr);int index =Arrays.binarySearch(arr, 53);System.out.println(index);

  如果能找到对应的元素,会返回下标,如果找不到就返回负数表示


发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表