我有一堆充满重复的数据,我想消除重复。你知道,例如 [1, 1, 3, 5, 5, 5, 7] 变成 [1, 3, 5, 7]。
看起来我可以使用 std::map 或 std::set 来处理这个问题。但是我不确定(a)简单地将所有值插入容器中是否更快,或者(b)检查它们是否已经存在于容器中并且仅在它们不存在时才插入 - 插入是否非常有效?即使有更好的方法......你能建议一种快速的方法吗?
另一个问题 - 如果我存储在其中的数据不像整数那么微不足道,而是一个自定义类,std::map 如何管理正确存储(散列?)数据以便通过运算符快速访问 [ ]?