如何在 STL 容器中查找非重复值 C++11.
How to find distinct values in an STL container C++11
我现在可能太累了。如何在容器或范围中找到不同的值?
我已经浏览了算法库,但我看不到任何标准。我可以发誓有一个标准的算法来做到这一点。
除了有一个容器 B 之外,我只添加容器 A 中尚未出现的元素......
**编辑:最好也得到每个的计数....喜欢。。。C++11 中的 SQL
给定一个输入向量v
,你可以做类似的事情
std::sort(begin(v), end(v)); // O(N log N) where N = v.size()
auto it = std::unique(begin(v), end(v)); // O(N)
等效地(不是真的,因为您需要额外的内存,上述方法是就地的),您可以将它们复制到std::set
中和从中复制出来:
std::set<T> s(begin(v), end(v)); // O(N log N);
auto it = std::copy(begin(s), end(s), begin(v)); // O(N);
请注意,在这两种情况下,您都需要实际擦除已删除的元素
v.erase(it, end(v)); // O(K), where K is the number of removed duplicates
相关文章:
- 正在查找文档以获得PS4平台的C++中的设备信息
- 在C++中查找文件
- 模板元程序查找相似的连续类型名称
- 在UNIX系统中使用DIR查找文件的字节大小
- 查找最接近的大于当前数字的数字的索引
- 有没有一种方法可以创建一个带有哈希表的数据库,该哈希表具有恒定时间查找功能
- 查找后更改类变量
- 在 C++11 中,如何查找并返回以给定字符串开头的字符串向量中的所有项?
- 如何在 C++11 中查找和更新向量中的一个嵌套结构
- C++11/14/17,GCC 7 与 GCC 8:好友类模板的名称查找
- C++11 (MSVS2012) 正则表达式在多行 std::string 中查找文件名
- 如何在 Windows 上从 C++11 统计信息对象的文件序列号中查找文件名
- 在C++11中查找运算符的规则
- 如何在 STL 容器中查找非重复值 C++11.
- 嵌套c++11范围循环,用于查找组合
- 在 C++11 中的优先级队列中查找并访问该元素
- C++11:如何获取C++14模板化地图::查找
- 使用c++ 11中的OpenMP来查找计算值的最大值
- 使用c++ 11在编译时以编程方式查找端序
- C++11:`错误:代码中')'标记之前应有主表达式',用于行扫描以查找最接近的对