Java 二分查找程序(递归)


以下是 Java 中递归二分查找的程序 -

范例

 线上演示

public class Demo{
   int rec_bin_search(int my_arr[], int left, int right, int x){
      if (right >= left){
         int mid = left + (right - left) / 2;
         if (my_arr[mid] == x)
         return mid;
         if (my_arr[mid] > x)
         return rec_bin_search(my_arr, left, mid - 1, x);
         return rec_bin_search(my_arr, mid + 1, right, x);
      }
      return -1;
   }
   public static void main(String args[]){
      Demo my_object = new Demo();
      int my_arr[] = { 56, 78, 90, 32, 45, 99, 104};
      int len = my_arr.length;
      int x = 104;
      int result = my_object.rec_bin_search(my_arr, 0, len - 1, x);
      if (result == -1)
         System.out.println("The element is not present in the array");
      else
         System.out.println("The element has been found at index " + result);
   }
}

输出

The element has been found at index 6

名为 Demo 的一个类包含二分查找函数,它采用需要查找的左右和值。一旦实现二分查找后,一个 main 函数创建 Demo 对象的一个实例,并将值分配给一个数组。通过传递一个特定值进行参数搜索,可以在数组中调用此二分查找函数。如果找到,将显示该索引,否则,显示一条相关消息。

更新于:2020 年 7 月 4 日

6 千次浏览

启动你的职业生涯

完成课程获得认证

开始
广告推荐