जावा में रिकर्सिव बाइनरी सर्च के लिए प्रोग्राम निम्नलिखित है:
उदाहरण
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("एलिमेंट ऐरे में मौजूद नहीं है");
else
System.out.println("एलिमेंट इंडेक्स पर मिला है " + result);
}
}
आउटपुट
एलिमेंट इंडेक्स पर मिला है 6
Demo नामक एक क्लास में बाइनरी सर्च फंक्शन होता है, जो लेफ्ट, राइट और खोजे जाने वाले मान को लेता है। एक बार बाइनरी सर्च लागू हो जाने के बाद, एक मुख्य फंक्शन Demo ऑब्जेक्ट का एक इंस्टेंस बनाता है और एक ऐरे को मान असाइन करता है। इस बाइनरी सर्च फंक्शन को एक विशिष्ट मान को खोजने के लिए पैरामीटर के रूप में पास करके ऐरे पर कॉल किया जाता है। यदि मिल जाता है, तो इंडेक्स प्रदर्शित किया जाता है, अन्यथा, एक प्रासंगिक संदेश प्रदर्शित किया जाता है।