可以使用以下代码实现二分查找算法:
: ^, D. v1 o$ r- x
- public class BinarySearch {
- public static int binarySearch(int[] arr, int target) {
/ n: g8 ~. w, i; U
- int left = 0;
- int right = arr.length - 1;
; v% M+ [2 m& b# H
-
- while (left <= right) {
+ b* d& f- l3 N2 F
- int mid = left + (right - left) / 2;
-
- if (arr[mid] == target) {
- return mid;
- }
/ i4 @3 E1 F2 X2 m9 K' c) C
-
- if (arr[mid] < target) {
6 \; \% x$ f7 Y& r. u
- left = mid + 1;
- } else {
- right = mid - 1;
- }
1 q9 v. Z# r1 ?8 G- t2 Q* p
- }
& k" ^) q/ R% ~& d3 w% K
-
4 k/ Y+ y I5 e# u/ W) s/ E+ L' Q8 ]
- return -1;
- }
-
[9 d. x# b5 q) [2 h
- public static void main(String[] args) {
4 z; F8 f" v3 s1 g1 \" E0 x: }5 l
- int[] arr = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10};
- int target = 6;
-
- int result = binarySearch(arr, target);
; H$ n4 B }0 u( p# N9 r# b/ I8 r& T
-
7 f6 \5 B: X. ?
- if (result == -1) {
- System.out.println("Element not present in array");
: y' N; x: {. T0 {" o
- } else {
- System.out.println("Element found at index " + result);
$ a' v G9 p2 u5 n* i
- }
0 _, C4 l8 j g. `
- }
- }
复制代码
这是一个简单的二分查找算法的实现,可以在给定的有序整数数组中查找目标元素的索引。
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
|