c++ - 哪个是查找和插入的最佳容器?
问题描述
我需要在容器中插入许多项目。如果一个项目已经在容器中,不要插入。我需要做多次。这些项目不需要排序。
我很困惑是使用 set(binary tree) 还是 unordered_set(hash table)。既然我的物品是独一无二的,那么哈希表的效率会降低吗?
解决方案
既然你说
- 您不需要订购的物品
- 你不想重复
最合乎逻辑的容器是一个集合。
没有必要使用std::set
,因为它试图保持秩序(你说你不需要)。
std::unordered_set
是一个不错的选择,因为它可以快速插入并检查项目是否在集合中。
推荐阅读
- java - 如果 ArrayList 中的大小写匹配不起作用,则删除名称
- paypal - 在没有账户的情况下支付 PayPal 账单协议
- php - Tcpdf 使用单独的管理文件
- python - 为什么 PyCharm 在键入两个类的联合时找不到参考
- javascript - 大家好!!!我已经创建了 yandex 地图,但我无法使用功能 onclick 地标 - console.log 它的“提示名称”
- php - Laravel:从JSON计算数组内的整数值
- r - 在列中拆分分隔字符串并作为新行插入 2 列
- javascript - 递归地将字符添加到字符串的末尾
- scala - Substract two dates in Scala with yyyyMMdd format
- python - Or | 的奇怪行为 运算符和非