可以使用以下代码实现二分查找算法: 8 P6 k X2 X" L; k
- public class BinarySearch {
- public static int binarySearch(int[] arr, int target) {
- int left = 0;
- int right = arr.length - 1;
, [5 ]- h0 D. Y! |! @
-
- while (left <= right) {
8 k/ Y4 Z4 c6 q$ ^0 M; N' R
- int mid = left + (right - left) / 2;
- d0 ]" M5 Q: @. E& M
-
- if (arr[mid] == target) {
) B( ~/ [ H: F6 X
- return mid;
- }
-
- if (arr[mid] < target) {
4 ]4 N* O9 Z# N l9 s
- left = mid + 1;
W$ P! t: q4 P8 ^+ n/ Z
- } else {
) y: C2 d' M* v0 ~" V+ b) V
- right = mid - 1;
7 s/ l, R3 D. [- W: }
- }
0 V% o# K6 j6 M& ]
- }
" r) u, l; J* o1 O- R
-
- return -1;
- }
; q/ W( F! _( ]$ c" Q5 A
-
+ X' N. V3 w% M2 i; b
- public static void main(String[] args) {
- int[] arr = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10};
- int target = 6;
! `# Z r2 H- F+ f8 o- p8 y. b
-
, S1 u' `3 c4 V- c' r7 @
- int result = binarySearch(arr, target);
-
- if (result == -1) {
# V0 e4 O& N( | ]% \
- System.out.println("Element not present in array");
- } else {
* u& ]) u0 _* J( G3 ?8 S; m3 @
- System.out.println("Element found at index " + result);
- }
2 J, C5 Z0 e# q {, Z4 F' H# R
- }
; ]$ t! }" Q0 L( M
- }
复制代码
这是一个简单的二分查找算法的实现,可以在给定的有序整数数组中查找目标元素的索引。2 t0 t- |: s+ l3 x
3 s8 K6 f% \8 o0 r3 I1 M# H# g" r, X
9 N$ i6 P. b7 a/ j |