summaryrefslogtreecommitdiff
path: root/wk5/pset/speller
diff options
context:
space:
mode:
Diffstat (limited to 'wk5/pset/speller')
-rw-r--r--wk5/pset/speller/dictionary.c12
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