可以使用以下代码实现二分查找算法: 8 }. e: ]$ \' n
- public class BinarySearch {
% }% | Z" G9 k7 `3 G
- public static int binarySearch(int[] arr, int target) {
- int left = 0;
- int right = arr.length - 1;
-
- while (left <= right) {
3 f8 q$ d9 U5 d" B+ ~
- int mid = left + (right - left) / 2;
-
- if (arr[mid] == target) {
% D5 _, W1 _# E! A3 L: ^
- return mid;
+ v$ o+ ]( C1 I* i& @" e" ^
- }
' k/ i* k& h) b9 V% Q
-
1 L$ a( U' L w$ J- s0 I9 [
- if (arr[mid] < target) {
% }8 q+ A, {8 L1 b' X4 k
- left = mid + 1;
' ` b& I3 p& N3 F
- } else {
: w/ `4 m9 e, r; ?' D# l% j/ o$ W
- right = mid - 1;
- ^0 E0 W8 K4 i, l1 `6 i
- }
" Z# |7 e8 u2 ?$ ~7 Q
- }
# f6 f0 l- \7 i3 P+ o4 N
-
- return -1;
' I- {0 D6 O+ y
- }
-
- public static void main(String[] args) {
$ w. l: U+ I- x- w0 c. m
- int[] arr = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10};
- int target = 6;
-
) ^+ l; k5 X7 J {8 F6 k! {* P: E7 L
- int result = binarySearch(arr, target);
5 z0 B" S6 @& N0 d
-
3 ]! l& n: a7 h- d. I
- if (result == -1) {
- System.out.println("Element not present in array");
- G+ N% Y4 F5 S C5 z0 A9 W
- } else {
- System.out.println("Element found at index " + result);
- }
- }
$ P7 S2 i4 i& i A* y
- }
! `: L: [' M8 Y. G: Q7 h0 @7 r
复制代码
这是一个简单的二分查找算法的实现,可以在给定的有序整数数组中查找目标元素的索引。
' s& f1 v5 U+ B: x; l
1 g) h! B6 S) \8 v8 b" B" }: R% K2 M6 M1 J' U* ~
|