回答

收藏

如何用java实现二分查找算法

知识点 知识点 856 人阅读 | 0 人回复 | 2023-12-04

可以使用以下代码实现二分查找算法:

: ^, D. v1 o$ r- x
  1. public class BinarySearch {
  2.     public static int binarySearch(int[] arr, int target) { / n: g8 ~. w, i; U
  3.         int left = 0;
  4.         int right = arr.length - 1; ; v% M+ [2 m& b# H
  5.         
  6.         while (left <= right) { + b* d& f- l3 N2 F
  7.             int mid = left + (right - left) / 2;
  8.             
  9.             if (arr[mid] == target) {
  10.                 return mid;
  11.             } / i4 @3 E1 F2 X2 m9 K' c) C
  12.             
  13.             if (arr[mid] < target) { 6 \; \% x$ f7 Y& r. u
  14.                 left = mid + 1;
  15.             } else {
  16.                 right = mid - 1;
  17.             } 1 q9 v. Z# r1 ?8 G- t2 Q* p
  18.         } & k" ^) q/ R% ~& d3 w% K
  19.          4 k/ Y+ y  I5 e# u/ W) s/ E+ L' Q8 ]
  20.         return -1;
  21.     }
  22.       [9 d. x# b5 q) [2 h
  23.     public static void main(String[] args) { 4 z; F8 f" v3 s1 g1 \" E0 x: }5 l
  24.         int[] arr = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10};
  25.         int target = 6;
  26.         
  27.         int result = binarySearch(arr, target); ; H$ n4 B  }0 u( p# N9 r# b/ I8 r& T
  28.          7 f6 \5 B: X. ?
  29.         if (result == -1) {
  30.             System.out.println("Element not present in array"); : y' N; x: {. T0 {" o
  31.         } else {
  32.             System.out.println("Element found at index " + result); $ a' v  G9 p2 u5 n* i
  33.         } 0 _, C4 l8 j  g. `
  34.     }
  35. }
复制代码
这是一个简单的二分查找算法的实现,可以在给定的有序整数数组中查找目标元素的索引。
3 c0 R' L! u+ @. a" n( c' i7 o, t& T2 u3 O/ N) e; M: c
3 @+ }5 b9 e( o, W5 d- C9 {% x
关注下面的标签,发现更多相似文章
分享到:
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则