#include "denpre.h" #include "util.h" template 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(), &pLB, &pUB); PrintPair(253, pLB, pUB); bsearch(&vec[0], &vec[10], 267, less(), &pLB, &pUB); PrintPair(267, pLB, pUB); bsearch(&vec[0], &vec[10], 399, less(), &pLB, &pUB); PrintPair(399, pLB, pUB); bsearch(&vec[0], &vec[10], 2, less(), &pLB, &pUB); PrintPair(2, pLB, pUB); bsearch(&vec[0], &vec[0], 39, less(), &pLB, &pUB); PrintPair(39, pLB, pUB); }