如何实现关联数组/映射/散列表数据结构(通常和在C++中)

Doi*_*ois 3 c++ maps associative-array hashtable

好吧,我正在制作一个小型电话簿应用程序,我已经决定使用地图将是最好的数据结构,但我不知道从哪里开始.(必须从头开始实施数据结构 - 学校工作)

Cha*_* Ma 5

对于实现密钥是短字符串的映射来说,尝试非常有效.维基百科文章很好地解释了它.

要处理重复项,只需使树的每个节点存储重复匹配的链接列表

这是trie的基本结构

struct Trie {
   struct Trie* letter;
   struct List *matches;
};
Run Code Online (Sandbox Code Playgroud)

malloc(26*sizeof(struct Trie))的字母,你有一个数组.如果要支持标点符号,请在字母数组的末尾添加它们.

匹配可以是匹配的链接列表,无论你喜欢实现,我都不会为你定义struct List.