给出c++代码,获得两个vector中不同的内容
以下是一个示例代码,用于获得两个vector中不同的内容:
#include <iostream>
#include <vector>
#include <algorithm>
std::vector<int> GetDifferentValues(std::vector<int> vec1, std::vector<int> vec2)
{
std::vector<int> result;
// 先对两个vector进行排序
std::sort(vec1.begin(), vec1.end());
std::sort(vec2.begin(), vec2.end());
// 使用std::set_difference函数获得不同的内容
std::set_difference(vec1.begin(), vec1.end(), vec2.begin(), vec2.end(), std::back_inserter(result));
return result;
}
int main()
{
std::vector<int> vec1{1, 2, 3, 4, 5};
std::vector<int> vec2{3, 4, 5, 6, 7};
std::vector<int> result = GetDifferentValues(vec1, vec2);
std::cout << "Different values: ";
for (int value : result)
{
std::cout << value << " ";
}
std::cout << std::endl;
return 0;
}
在这个示例代码中,我们首先定义了一个名为GetDifferentValues的函数,它接受两个vector作为参数,并返回一个包含不同内容的vector。在函数内部,我们先对两个vector进行排序,然后使用std::set_difference函数获得不同的内容,并将其插入到结果vector中。
在main函数中,我们定义了两个vector,并将它们作为参数传递给GetDifferentValues函数。然后,我们遍历结果vector,并将其输出到控制台。在这个示例中,输出结果为:
Different values: 1 2 6 7
这表明,vec1中的值1和2以及vec2中的值6和7在两个vector中都不存在。
原文地址: https://www.cveoy.top/t/topic/zAg 著作权归作者所有。请勿转载和采集!