diff options
Diffstat (limited to 'wk5/pset/speller/dictionary.c')
-rw-r--r-- | wk5/pset/speller/dictionary.c | 54 |
1 files changed, 54 insertions, 0 deletions
diff --git a/wk5/pset/speller/dictionary.c b/wk5/pset/speller/dictionary.c new file mode 100644 index 0000000..a20c467 --- /dev/null +++ b/wk5/pset/speller/dictionary.c @@ -0,0 +1,54 @@ +// Implements a dictionary's functionality + +#include <ctype.h> +#include <stdbool.h> + +#include "dictionary.h" + +// Represents a node in a hash table +typedef struct node +{ + char word[LENGTH + 1]; + struct node *next; +} node; + +// TODO: Choose number of buckets in hash table +const unsigned int N = 26; + +// Hash table +node *table[N]; + +// Returns true if word is in dictionary, else false +bool check(const char *word) +{ + // TODO + return false; +} + +// Hashes word to a number +unsigned int hash(const char *word) +{ + // TODO: Improve this hash function + return toupper(word[0]) - 'A'; +} + +// Loads dictionary into memory, returning true if successful, else false +bool load(const char *dictionary) +{ + // TODO + return false; +} + +// Returns number of words in dictionary if loaded, else 0 if not yet loaded +unsigned int size(void) +{ + // TODO + return 0; +} + +// Unloads dictionary from memory, returning true if successful, else false +bool unload(void) +{ + // TODO + return false; +} |