Computer >> 컴퓨터 >  >> 프로그램 작성 >> Java

이진 검색을 위한 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라는 클래스에는 왼쪽 오른쪽과 검색해야 하는 값을 취하는 이진 검색 기능이 포함되어 있습니다. 이진 검색이 구현되면 주 함수는 Demo 개체의 인스턴스를 만들고 값을 배열에 할당합니다. 이 이진 검색 기능은 검색할 특정 값을 매개변수로 전달하여 배열에서 호출됩니다. 찾으면 인덱스가 표시되고, 그렇지 않으면 관련 메시지가 표시됩니다.