我是C++的初学者。我需要存储在查找和添加新条目方面具有良好性能的地址列表。
我首先想看看地址是否已经存在于列表中,如果是,则不要写,否则将新条目添加到该列表中。
在进行某些操作时,查看地址是否在列表中。
在C++中,在内存和空间方面是否存在快速访问和动态增长的数据结构。
我建议使用std::map
(通常实现为一些红黑树),它具有对数复杂性,因此在实践中应该足够了。
如果你有一个符合C++11标准的实现,你可以考虑std::unordered_map
(通常实现为一些哈希表)。
如果您不需要任何与密钥相关的数据,而只需要处理它们的集合,请考虑std::set
或std::unordered_set
许多库(Boost、Qt…)也实现了关联容器。
您正在寻找boost::unordereded_map。