#include #include #include #include "hashTable.h" int intHash(void *ptr, int limit) { int *data = (int *) ptr; return (*data) % limit; } int intCompare(void *a, void *b) { int *d1 = (int *) a; int *d2 = (int *) b; if (*d1 == *d2) { return 0; } else if (*d1 < *d2) { return -1; } else { return 1; } } void intPrint(void *a) { int *data = (int *) a; printf("%d\n", *data); } int main() { hashTable *table; mcheck_pedantic(NULL); table = createTable(intHash, intCompare, intPrint, sizeof(int)); int num1 = 45; int num2 = 32; int ret = addTableItem(table, &num1); if (ret) { printf("ERROR: valid add returned non-zero\n"); } int ret2 = addTableItem(table, NULL); if (!ret2) { printf("ERROR: invalid add returned zero\n"); } if (!lookupTable(table, &num1)) { printf("found the item\n"); } if (!lookupTable(table, &num2)) { printf("found the wrong item\n"); } printTable(table); }