回答

收藏

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

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

可以使用以下代码实现二分查找算法:
$ |8 W$ u; [5 U# O% d' M6 a
  1. public class BinarySearch {
  2.     public static int binarySearch(int[] arr, int target) { ; m! O# B2 l' C2 ~7 C; h# g' J7 j
  3.         int left = 0;
  4.         int right = arr.length - 1; 5 w; ~/ ^, r) Z- g+ A3 N2 m
  5.         
  6.         while (left <= right) {
  7.             int mid = left + (right - left) / 2;
  8.              ; @8 p1 }# O1 j2 k: j+ H1 J+ y8 r
  9.             if (arr[mid] == target) { ( i3 E2 T/ b4 f7 Z2 Z/ g
  10.                 return mid; / g) l. g$ e- C
  11.             }
  12.              ! t. h4 B% z3 `: y: S  U$ e2 g
  13.             if (arr[mid] < target) { ! I7 K4 O: O* w- E
  14.                 left = mid + 1;
  15.             } else {
  16.                 right = mid - 1;
  17.             }
  18.         } ! g$ W- O' u. x1 D2 F( I
  19.          * y/ W9 w* L5 F, B) V
  20.         return -1; + k7 k- z+ y7 n
  21.     } 0 h( D; e2 E/ K# G
  22.    
  23.     public static void main(String[] args) {
  24.         int[] arr = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10};
  25.         int target = 6; 2 H( T+ T& z- G
  26.         
  27.         int result = binarySearch(arr, target);
  28.         
  29.         if (result == -1) {
  30.             System.out.println("Element not present in array");
  31.         } else {
  32.             System.out.println("Element found at index " + result); ' o  U" N& g# [( D
  33.         }
  34.     } , n- F/ r6 J. ?
  35. } $ 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
关注下面的标签,发现更多相似文章
分享到:
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则