एक फ़ंक्शन बनाएं, मान लीजिए binarySearch() जो 4 आर्गुमेंट लेता है:
- एक सॉर्टेड नंबर/स्ट्रिंग लिटरल ऐरे
- ऐरे का शुरुआती इंडेक्स (0)
- ऐरे का अंतिम इंडेक्स (length - 1)
- खोजा जाने वाला नंबर
यदि नंबर ऐरे में मौजूद है, तो नंबर का इंडेक्स लौटाया जाना चाहिए, अन्यथा -1 लौटाया जाना चाहिए। यहां पूरा कोड है:
उदाहरण
const arr = [2,4,6,6,8,8,9,10,13,15,17,21,24,26,28,36,58,78,90];
// बाइनरी सर्च फ़ंक्शन
// यदि मिल जाए तो एलिमेंट का इंडेक्स लौटाता है अन्यथा -1
const binarySearch = (arr, start, end, num) => {
const mid = start + Math.floor((end - start)/2);
if(start <= end){
if(arr[mid] === num){
return mid;
}
if(num < arr[mid]){
return binarySearch(arr, start, mid-1, num);
}
if(num > arr[mid]){
return binarySearch(arr, mid+1, end, num);
}
}
return -1;
};
console.log(binarySearch(arr, 0, arr.length-1, 13));
console.log(binarySearch(arr, 0, arr.length-1, 11));
आउटपुट
कंसोल में इस कोड का आउटपुट होगा:
8 -1