C++ 具有非不同键的直接地址表
我正在研究一个实践问题,涉及到设计一个直接地址表,其中可能包含非不同的键。限制条件是插入、删除和搜索应在O(1)时间内运行;作为集合对象指针的参数 一个明显的解决方案是使用链接,表项指向链表的头部(可能为空)。有了这样的链接,插入和删除肯定会在O(1)时间内运行,然而,搜索不会。。。C++ 具有非不同键的直接地址表,c++,c,c++11,hashtable,associative-array,C++,C,C++11,Hashtable,Associative Array,我正在研究一个实践问题,涉及到设计一个直接地址表,其中可能包含非不同的键。限制条件是插入、删除和搜索应在O(1)时间内运行;作为集合对象指针的参数 一个明显的解决方案是使用链接,表项指向链表的头部(可能为空)。有了这样的链接,插入和删除肯定会在O(1)时间内运行,然而,搜索不会。。。 如有任何建议,将不胜感激 研究STL关联容器的设计,这取决于是否要存储{unique,non-unique}和{keys,key-value}。如果您没有C++11编译器(例如MSVC++>=2010或gcc>=4
如有任何建议,将不胜感激 研究STL关联容器的设计,这取决于是否要存储{unique,non-unique}和{keys,key-value}。如果您没有C++11编译器(例如MSVC++>=2010或gcc>=4.4),您可以使用 更新:
如果你正在寻找C库:看看他需要非独立密钥,但是他可以使用MultMAP(无论如何,如果C++ 11是一个选项)谢谢。是的,如果C++ 11是一个选项。我还试图用C设计一个解决方案,并编辑标签。@Iceman我用C实现的链接更新了我的anwer。