1package com.test; 2 3import java.util.Arrays; 4 5public class BinaraySearch { 6 7 public static int search(int key, int[] a) { 8 int lo = 0; 9 int hi = a.length - 1; 10 while (lo <= hi) { 11 int mid = lo + (hi - lo) / 2; 12 13 if (key < a[mid]) { 14 hi = mid - 1; 15 } else if (key > a[mid]) { 16 lo = mid + 1; 17 } else { 18 return mid; 19 } 20 } 21 return -1; 22 } 23 24 public static void main(String[] args) { 25 int[] a = new int[] {2,3,19,29,40,11,12,14}; 26 // 数组必须是有序的 27 Arrays.sort(a); 28 System.out.println(search(14, a)); 29 } 30 31}
java 二分法查找
Wesley13
2021-10-11
1042 1 0
点赞
收藏
评论区
加载中...