diff options
Diffstat (limited to 'wk5/pset/speller')
-rw-r--r-- | wk5/pset/speller/dictionary.c | 12 |
1 files changed, 10 insertions, 2 deletions
diff --git a/wk5/pset/speller/dictionary.c b/wk5/pset/speller/dictionary.c index 54b4b24..7e5cc61 100644 --- a/wk5/pset/speller/dictionary.c +++ b/wk5/pset/speller/dictionary.c @@ -96,11 +96,19 @@ bool load(const char *dictionary) // hash the word to find the bucket it goes in int val = hash(ptr->word); // put new node at begining of bucket - if (table[val] != NULL) + if (table[val] == NULL) { - ptr->next = table[val]; + // if empty put it there + table[val] = ptr; } + else + { + // if not empty move the current first one down, + // then put the new one there + ptr->next = table[val]; table[val] = ptr; + } + } // Close the dictionary file |