比较列表并给我列表 a 中没有的列表 b 中的内容
Compare lists and give me what isn't in list a that is in list b
我有两个列表。让我们把它们称为A和B。有没有一个巧妙的stl技巧可以看看列表B有什么,而列表A没有,而我自己不用迭代器手动循环它们,自己比较元素?
std::set_difference
两个集合的差异是由第一个集合中存在的元素形成的,而不是第二个集合中的元素。函数复制的元素总是以相同的顺序来自第一个范围。
请注意,这两个列表必须进行排序。
下面是一个示例,显示了使用示例:
#include <iostream>
#include <algorithm>
#include <list>
using namespace std;
int main()
{
list<int> a {1,2,3,4,5,10};
list<int> b {4,5,6,7,11};
list<int> out;
set_difference(b.begin(), b.end(), a.begin(), a.end(), back_inserter(out));
cout << "out size is " << out.size() << endl;
for(auto i: out)
{
cout << i << endl;
}
}
您可以使用set_difference算法set-difference描述
这里是一个c++示例cppreference
相关文章:
- 如何在两个列表中比较和获取非包含值
- 使用自定义比较函数在类内进行列表排序
- 错误:运算符 [] 不匹配。在比较列表中的 int 和 int 时<int>,
- 使用不遵循"严格弱排序"的比较功能对列表进行排序
- 将用户输入的术语与 txt 文件中的列表进行比较
- 空列表迭代器比较始终为真
- 有效比较整数列表与C++中给定的整数
- 通过单词列表将两个字符串移动以比较每个单词
- 如何比较C 列表中的两个连续元素
- C++比较向量和列表
- unordered_set与链接列表之间的性能比较
- 如何比较容器和初始值设定项列表以查看它们是否相等?
- C++ 比较 2 个不同列表中的值以使用 2 for 循环摆脱重复的数字。无法正确检测重复项
- 带有额外参数的排序列表以进行比较功能
- 有没有更简单的方法可以做到:if(num1 > num2 && num1 > num3),以获得更大的变量列表进行比较?
- 比较两个不同列表的内容
- 将STD ::指针列表与比较器的对象列表
- 比较一个链接列表与另一个黑名单与词频列表C++
- 如何比较/排序包含自定义 typedef 的列表容器的元素
- 比较std::对的2个std::列表