std::bsearch
Материал из cppreference.com
![]() |
This page has been machine-translated from the English version of the wiki using Google Translate.
The translation may contain errors and awkward wording. Hover over text to see the original version. You can help to fix errors and improve the translation. For instructions click here. |
Определено в заголовочном файле <cstdlib>
|
||
void* bsearch( const void* key, const void* ptr, size_t count, size_t size, int (*comp)(const void*, const void*) ); |
||
Находит элемент, равный элемент, на который указывает
key
в массиве, на который указывает ptr
. Массив содержит элементы count
размер size
. Функция, на которую указывает comp
используется для сравнения объектов.Оригинал:
Finds an element equal to element pointed to by
key
in an array pointed to by ptr
. The array contains count
elements of size size
. Function pointed to by comp
is used for object comparison.Текст был переведён автоматически через Google Translate.
Вы можете проверить и исправить перевод. Для инструкций кликните сюда.
Вы можете проверить и исправить перевод. Для инструкций кликните сюда.
Содержание |
[править] Параметры
key | - | Указатель на элемент для поиска
Оригинал: pointer to the element to search for Текст был переведён автоматически через Google Translate. Вы можете проверить и исправить перевод. Для инструкций кликните сюда. |
ptr | - | Указатель на массив для проверки
Оригинал: pointer to the array to examine Текст был переведён автоматически через Google Translate. Вы можете проверить и исправить перевод. Для инструкций кликните сюда. |
count | - | Количество элементов в массиве
Оригинал: number of element in the array Текст был переведён автоматически через Google Translate. Вы можете проверить и исправить перевод. Для инструкций кликните сюда. |
size | - | Размер каждого элемента массива в байтах
Оригинал: size of each element in the array in bytes Текст был переведён автоматически через Google Translate. Вы можете проверить и исправить перевод. Для инструкций кликните сюда. |
comp | - | comparison function which returns a negative integer value if the first argument is less than the second, a positive integer value if the first argument is greater than the second and zero if the arguments are equal. int cmp(const void *a, const void *b); The function must not modify the objects passed to it. |
[править] Возвращаемое значение
Указатель на найденный элемент или NULL иначе.
Оригинал:
Pointer to the found element or NULL otherwise.
Текст был переведён автоматически через Google Translate.
Вы можете проверить и исправить перевод. Для инструкций кликните сюда.
Вы можете проверить и исправить перевод. Для инструкций кликните сюда.
[править] Пример
#include <cstdlib> #include <iostream> int compare(const void *ap, const void *bp) { const int *a = (int *) ap; const int *b = (int *) bp; return *a - *b; } int show_ptr(int *p) { if (p == NULL) { std::cout << "NULL\n"; } else { std::cout << p1 << ' ' << *p1 << '\n'; } } int main(int argc, char **argv) { const int ARR_SIZE = 8; int arr[ARR_SIZE] = { 1, 2, 3, 4, 5, 6, 7, 8 }; int key1 = 4; int *p1 = (int *) std::bsearch(&key1, arr, ARR_SIZE, sizeof(arr[0]), compare); int key2 = 9; int *p2 = (int *) std::bsearch(&key2, arr, ARR_SIZE, sizeof(arr[0]), compare); std::cout << "p1: "; show_ptr(p1); std::cout << "p2: "; show_ptr(p2); }
Вывод:
p1: 0xbf9a4c88 4 p2: NULL
[править] См. также
виды диапазон элементов с неопределенным типом Оригинал: sorts a range of elements with unspecified type Текст был переведён автоматически через Google Translate. Вы можете проверить и исправить перевод. Для инструкций кликните сюда. (функция) | |
возвращает набор элементов для конкретного ключа Оригинал: returns range of elements matching a specific key Текст был переведён автоматически через Google Translate. Вы можете проверить и исправить перевод. Для инструкций кликните сюда. (шаблон функции) | |
C documentation for bsearch
|