summaryrefslogtreecommitdiff
path: root/wk5/pset/speller
diff options
context:
space:
mode:
Diffstat (limited to 'wk5/pset/speller')
-rw-r--r--wk5/pset/speller/dictionary.c18
1 files changed, 16 insertions, 2 deletions
diff --git a/wk5/pset/speller/dictionary.c b/wk5/pset/speller/dictionary.c
index e984b9f..75cfe8c 100644
--- a/wk5/pset/speller/dictionary.c
+++ b/wk5/pset/speller/dictionary.c
@@ -102,6 +102,20 @@ unsigned int size(void)
// Unloads dictionary from memory, returning true if successful, else false
bool unload(void)
{
- // TODO
- return false;
+ // for every bucket
+ for (int i = 0; i < N; i++)
+ {
+ // while there's more in the bucket
+ node *current = table[i];
+ while (current != NULL)
+ {
+ // record position of this node
+ node *this = current;
+ // record position of next node
+ current = current->next;
+ // free this node
+ free(this);
+ }
+ }
+ return true;
}