算法 - 二分查找(非递归实现二分查找)

布满荆棘的人生 2023-07-03 10:32 80阅读 0赞

在这里插入图片描述

  1. package Algorithm.binarysearchnorecursion;
  2. public class BinaaySearchNoRecur {
  3. public static void main(String[] args) {
  4. int arr [] = { 1,2,3,4,5};
  5. int b = binarySearch(arr, 0);
  6. System.out.println(b);
  7. }
  8. //二分查找的非递归实现
  9. public static int binarySearch(int [] arr, int target){
  10. int left = 0;
  11. int right = arr.length - 1;
  12. boolean flag = true;
  13. while(left <= right){
  14. int mid = (left + right) / 2;
  15. if (target == arr[mid]){
  16. return mid;
  17. }
  18. if (target > arr[mid]){
  19. left = mid + 1;
  20. }else {
  21. right = mid - 1;
  22. }
  23. }
  24. return -1;
  25. }
  26. }

发表评论

表情:
评论列表 (有 0 条评论,80人围观)

还没有评论,来说两句吧...

相关阅读