void* bsearch( const void* kvpFind, const void* kvpArray, size_t qNumberOfElements, size_t qElementSizeInBytes, int (*pfnCompareFn) ( const void *, const void *));
#include <iostream> #include <cstdlib> int MyCompare(const void* kvpFirst, const void* kvpSecond) { int iFirst = *((int*)(kvpFirst)); int iSecond = *((int*)(kvpSecond)); if (iFirst < iSecond) { return -1; } else if (iFirst == iSecond) { return 0; } else { return 1; } } int main() { using namespace std; int iaArray[9] = {1, 3, 6, 7, 9, 13, 15, 16, 19}; int iSeven = 7; // Search for the value seven in the array void* vpResult = bsearch(&iSeven, iaArray, 9, sizeof(int), MyCompare); // Seven is found at the element #3 in the array cout << "Found at element #" << (((int*)vpResult) - (int*)iaArray) << endl; return 0; }
© 20072024 XoaX.net LLC. All rights reserved.