diff options
Diffstat (limited to 'rushs/tinyprintf/binary_search_ptr')
| -rw-r--r-- | rushs/tinyprintf/binary_search_ptr/bsearch.c | 38 | ||||
| -rw-r--r-- | rushs/tinyprintf/binary_search_ptr/bsearch.h | 16 |
2 files changed, 0 insertions, 54 deletions
diff --git a/rushs/tinyprintf/binary_search_ptr/bsearch.c b/rushs/tinyprintf/binary_search_ptr/bsearch.c deleted file mode 100644 index bdc189c..0000000 --- a/rushs/tinyprintf/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); -} diff --git a/rushs/tinyprintf/binary_search_ptr/bsearch.h b/rushs/tinyprintf/binary_search_ptr/bsearch.h deleted file mode 100644 index e011744..0000000 --- a/rushs/tinyprintf/binary_search_ptr/bsearch.h +++ /dev/null @@ -1,16 +0,0 @@ -#ifndef BSEARCH_H_ -#define BSEARCH_H_ - -/* -** Search `elt` in the memory range of [`begin` - `end`[. -** `begin` is a pointer to the first element. -** `end` is a pointer **AFTER** the last element. -** The elements in the range [`begin` - `end`[ are sorted in ascending order. -** If the range is empty, `begin` == `end`. -** `begin` and `end` can't be `NULL`. -** Returns a pointer to the element if found, or a pointer to the memory -** location where the element could be inserted to keep the array sorted. -*/ -int *binary_search(int *begin, int *end, int elt); - -#endif /* !BSEARCH_H_ */ |
