|
|
#include "denpre.h"
#include "util.h"
template <class T> class less { public: BOOL operator()(const T &a, const T &b) { return a < b; } };
int vec[10] = { 33, 251, 253, 254, 263, 272, 274, 302, 305, 307 };
void PrintPair(int value, int *pLB, int *pUB) { if (pLB == NULL && pUB == NULL) printf("Array is Empty or Bug in bsearch!\n");
else if (pLB == NULL) printf("%d < %d\n", value, *pUB);
else if (pUB == NULL) printf("%d > %d\n", value, *pLB);
else printf("%d <= %d <= %d\n", *pLB, value, *pUB); }
void main() { int *pLB, *pUB;
bsearch(&vec[0], &vec[10], 253, less<int>(), &pLB, &pUB); PrintPair(253, pLB, pUB);
bsearch(&vec[0], &vec[10], 267, less<int>(), &pLB, &pUB); PrintPair(267, pLB, pUB);
bsearch(&vec[0], &vec[10], 399, less<int>(), &pLB, &pUB); PrintPair(399, pLB, pUB);
bsearch(&vec[0], &vec[10], 2, less<int>(), &pLB, &pUB); PrintPair(2, pLB, pUB);
bsearch(&vec[0], &vec[0], 39, less<int>(), &pLB, &pUB); PrintPair(39, pLB, pUB); }
|