/* File: htest.C Testing the HashTable class for collisions */ #include #include #include #include "hash.h" main(int argc, char *argv[]) { int size, reps, i, r1, r2, r3, key ; long seed ; HashTable *H ; if (argc != 4) { printf("Usage: htest size reps seed\n") ; exit(1) ; } r1 = sscanf(argv[1], "%d", &size) ; r2 = sscanf(argv[2], "%d", &reps) ; r3 = sscanf(argv[3], "%ld", &seed) ; // long if (r1+r2+r3 < 3) { printf("Use integer arguments!\n") ; exit(1) ; } printf("size = %d, reps = %d, seed = %d\n", size, reps, seed) ; H = new HashTable(size) ; srand48(seed) ; for (i = 0 ; i < reps ; i++) { key = lrand48() ; H->Insert(ListItem(key)) ; } // Comment out for large tables ! // H->dump() ; H->stats() ; delete H ; }