- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
#include <iostream>
#include <cstdlib>
using namespace std;
int bin_search(int *A, int key, int low, int high){
if (low > high){
return 0;
}
int mid = ( low + high ) / 2;
if (A[mid] == key)
return mid+1;
else if( A[mid] < key)
bin_search(A, key, mid + 1, high);
else if (A[mid] > key)
bin_search(A, key, low, mid - 1);
}
int main()
{
int n, k;
cin >> k >> n;
int A[n-1];
for (int i = 0; i < n; i++)
{
cin >> A[i];
}
cout << bin_search(A, k, 0, n);
}
Нужно реализовать бинпоиск рекурсией, на вход значение искомого элемента,
число элементов и сам массив,
вывести номер минимального элемента равного искомому.
У меня откровенно говоря баг, не могу его откопать, помогите!!!