#include "bsearch.h" #include int *binary_search(int *begin, int *end, int elt) { if (begin == end) { return begin; } if (begin > end) { if (elt > *begin) { return begin + 1; } return begin; } size_t m = (end - begin) / 2; if (begin[m] == elt) { return begin + m; } if (begin[m] > elt) { return binary_search(begin, begin + m, elt); } if (m == 0) { m++; } return binary_search(begin + m, end, elt); }