Программирование на C и C++

Онлайн справочник программиста на C и C++

bsearch

void *bsearch(const void *key, const void *base, size_t num, size_t size, int (*compare)(const void*, const void*))

Прототип: 
Описание: 

Функция bsearch() выполняет двоичный поиск на отсортированном массиве, на который ука­зывает параметр base, и возвращает указатель на первое число, соответствующее ключу, на кото­рый указывает параметр key. Число элементов в массиве задается переменной num, а размер каж­дого элемента указывается в переменной size.

Тип size_t определен в заголовочном файле stdlib.h как unsigned int.

Функция, на которую указывает параметр compare, сравнивает элемент массива с ключом. Она должна иметь следующий прототип:
int func_name(const void *arg1, const void *arg2)

Функция обязана возвращать следующие значения:
Если arg1 меньше, чем arg2, то возвращается величина, меньшая 0.
Если arg1 равен arg2, то возвращается величина 0.
Если arg1 больше, чем arg2, то возвращается число, большее 0.

Массив должен быть отсортирован по возрастанию таким образом, что наименьший адрес со­держит наименьший элемент.

Если массив не содержит ключа, то возвращается нулевой указатель.

Пример: