Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/c/65.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 具有非不同键的直接地址表_C++_C_C++11_Hashtable_Associative Array - Fatal编程技术网

C++ 具有非不同键的直接地址表

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

我正在研究一个实践问题,涉及到设计一个直接地址表,其中可能包含非不同的键。限制条件是插入、删除和搜索应在O(1)时间内运行;作为集合对象指针的参数

一个明显的解决方案是使用链接,表项指向链表的头部(可能为空)。有了这样的链接,插入和删除肯定会在O(1)时间内运行,然而,搜索不会。。。
如有任何建议,将不胜感激

研究STL关联容器的设计,这取决于是否要存储{unique,non-unique}和{keys,key-value}。如果您没有C++11编译器(例如MSVC++>=2010或gcc>=4.4),您可以使用

更新:
如果你正在寻找C库:看看

他需要非独立密钥,但是他可以使用MultMAP(无论如何,如果C++ 11是一个选项)谢谢。是的,如果C++ 11是一个选项。我还试图用C设计一个解决方案,并编辑标签。@Iceman我用C实现的链接更新了我的anwer。