gpt4 book ai didi

c++ - 如何比较和删除 3 个 vector 之间不具有相同值的元素?

转载 作者:太空宇宙 更新时间:2023-11-04 14:46:33 25 4
gpt4 key购买 nike

我需要删除 3 个或更多 vector 之间不具有相同值的所有元素。例如,

vector<int> Vector1, Vector2, Vector3;
for(int i = 2; i < 7; i++) Vector1.push_back(i); // Vector1 = {2, 3, 4, (5), (6)}
for(int i = 3; i < 8; i++) Vector2.push_back(i); // Vector2 = {3, 4, (5), (6), 7}
for(int i = 5; i < 10; i++) Vector3.push_back(i); // Vector3 = {(5), (6), 7, 8, 9}

我们知道所有 vector 都有 2 个具有相同值的元素:5 和 6。现在如何获取这些值并将它们存储到新 vector 中?

任何形式的帮助将不胜感激:)

最佳答案

标准算法库中有set_intersection( vector 必须排序):

// This code does it for two vectors only

vector<int> a, b, r;

for(int i = 0; i < 10; i++)
{
a.push_back(i);
b.push_back(i+5);
}

set_intersection(
a.begin(), a.end(),
b.begin(), b.end(),
back_inserter(r));

关于c++ - 如何比较和删除 3 个 vector 之间不具有相同值的元素?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1715143/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com