可以使用以下代码实现二分查找算法: $ |8 W$ u; [5 U# O% d' M6 a
- public class BinarySearch {
- public static int binarySearch(int[] arr, int target) {
; m! O# B2 l' C2 ~7 C; h# g' J7 j
- int left = 0;
- int right = arr.length - 1;
5 w; ~/ ^, r) Z- g+ A3 N2 m
-
- while (left <= right) {
- int mid = left + (right - left) / 2;
-
; @8 p1 }# O1 j2 k: j+ H1 J+ y8 r
- if (arr[mid] == target) {
( i3 E2 T/ b4 f7 Z2 Z/ g
- return mid;
/ g) l. g$ e- C
- }
-
! t. h4 B% z3 `: y: S U$ e2 g
- if (arr[mid] < target) {
! I7 K4 O: O* w- E
- left = mid + 1;
- } else {
- right = mid - 1;
- }
- }
! g$ W- O' u. x1 D2 F( I
-
* y/ W9 w* L5 F, B) V
- return -1;
+ k7 k- z+ y7 n
- }
0 h( D; e2 E/ K# G
-
- public static void main(String[] args) {
- int[] arr = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10};
- int target = 6;
2 H( T+ T& z- G
-
- int result = binarySearch(arr, target);
-
- if (result == -1) {
- System.out.println("Element not present in array");
- } else {
- System.out.println("Element found at index " + result);
' o U" N& g# [( D
- }
- }
, n- F/ r6 J. ?
- }
$ w4 ]' k S6 H6 P: j$ p
复制代码
这是一个简单的二分查找算法的实现,可以在给定的有序整数数组中查找目标元素的索引。. D2 g* x( z7 Q+ ?5 O$ l% U7 B
?' a8 M: d. A8 s# p
+ ~+ V a: y2 j) S- X |