जावा में रिकर्सिव बाइनरी सर्च का कार्यक्रम निम्नलिखित है -
उदाहरण
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
डेमो नामक एक वर्ग में द्विआधारी खोज फ़ंक्शन होता है, जो बाएं दाएं और मूल्य को खोजता है जिसे खोजने की आवश्यकता होती है। एक बार बाइनरी खोज लागू होने के बाद, एक मुख्य फ़ंक्शन डेमो ऑब्जेक्ट का एक उदाहरण बनाता है और एक सरणी को मान निर्दिष्ट करता है। इस बाइनरी सर्च फ़ंक्शन को पैरामीटर के रूप में खोजने के लिए एक विशिष्ट मान पास करके सरणी पर कॉल किया जाता है। यदि पाया जाता है, तो सूचकांक प्रदर्शित होता है, अन्यथा, एक प्रासंगिक संदेश प्रदर्शित होता है।