Le titre
Utilisation de la récursivité pour réaliser une recherche binaire d'éléments de tableau
Atteindre
Code
#include<iostream>
using namespace std;
int BinarySearch(int a[], int low, int high, int key) {
if (low > high)
return -1;
else {
int mid = (low + high) / 2;
if (a[mid] == key)
return mid;
else if (a[mid] > key)
return BinarySearch(a, low, mid - 1, key);
else
return BinarySearch(a, mid + 1, high, key);
}
}
int main() {
int a[] = { 2, 3, 5, 8, 13, 16, 20 };
int pos = BinarySearch(a, 0, 6, 10);
cout << pos << endl;
pos = BinarySearch(a, 0, 6, 16);
cout << pos << endl;
return 0;
}
Sortie
-1
5