diff options
Diffstat (limited to 'rushs/evalexpr/binary_search_ptr/bsearch.c')
| -rw-r--r-- | rushs/evalexpr/binary_search_ptr/bsearch.c | 38 |
1 files changed, 0 insertions, 38 deletions
diff --git a/rushs/evalexpr/binary_search_ptr/bsearch.c b/rushs/evalexpr/binary_search_ptr/bsearch.c deleted file mode 100644 index bdc189c..0000000 --- a/rushs/evalexpr/binary_search_ptr/bsearch.c +++ /dev/null @@ -1,38 +0,0 @@ -#include "bsearch.h" - -#include <stddef.h> - -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); -} |
