#include "hash.h" #include #include #include #include "mem.h" void printword (char *word){ printf(">>"); if (word != NULL){ int len = strlen(word); for(int i = 0; i < len; i++) { printf("%c", word[i]); } } printf("<<\n"); } int main(){ printf("creating Hash Table of size 100.\n"); struct hash HT; HT = make_table(98); printf("Create table succeeded.\n"); //printf("seaching table for key 39...\n"); // printword(search(HT, 39)); printf("adding values | key :\n"); printf("Testttttttttt1 | 1\n"); add(HT,1, "Testttttttttt1"); printf("Testttttttttt1.5 | 2\n"); add(HT, 2, "Testttttttttt1.5"); printf("Testttttttttt2 | 12\n"); add(HT,12, "Testttttttttt2"); printf("Testttttttttt3 | 23\n"); add(HT,23, "Testttttttttt3"); printf("Testttttttttt4 | 55\n"); add(HT,55, "Testttttttttt4"); printf("Testttttttttt5 | 80\n"); add(HT,80, "Testttttttttt5"); printf("Testttttttttt6 | 99\n"); add(HT,99, "Testttttttttt6"); printf("Testttttttttt7 | 100\n"); add(HT,100, "Testttttttttt7"); printf("Testttttttttt8 | 101\n"); add(HT,101, "Testttttttttt8"); printf("Testttttttttt8.5 | 196\n"); add(HT,196, "Testttttttttt8.5"); printf("Testttttttttt8.52 | 293\n"); add(HT,293, "Testttttttttt8.52"); printf("Testttttttttt9 | 20003\n"); add(HT,20003, "Testttttttttt9"); printf("searching for said values...\n"); printword(search(HT, 1)); printword(search(HT, 2)); printword(search(HT, 12)); printword(search(HT, 23)); printword(search(HT, 55)); printword(search(HT, 80)); printword(search(HT, 99)); printword(search(HT, 100)); printword(search(HT, 101)); printword(search(HT, 196)); printword(search(HT, 293)); printword(search(HT, 20003)); printf("adding TestTest8.52 to key already used, 293\n"); add(HT,293, "TestTest8.52"); printf("searching for it...\n"); printword(search(HT, 293)); printf("deleting key 293\n"); delete(HT,293); printf("searching for it...\n"); printword(search(HT, 293)); printf("Done. Freeing Hash Table...\n"); free_table(HT); PrintUnmarkedBlocks(); printf("Finsihed. Exiting...\n"); return(0); }