查找两个vector相同元素代码c
时间: 2024-09-14 12:16:00 浏览: 30
在C++中,如果你想查找两个`std::vector`中有相同元素,你可以使用多种方法。这里有一个简单的示例,使用`std::set`来存储第一个vector中的唯一元素,然后遍历第二个vector,检查它们是否存在于`std::set`中:
```cpp
#include <iostream>
#include <vector>
#include <set>
bool haveCommonElement(const std::vector<int>& vec1, const std::vector<int>& vec2) {
std::set<int> uniqueSet(vec1.begin(), vec1.end()); // 存储vec1的独特元素
for (int num : vec2) {
if (uniqueSet.find(num) != uniqueSet.end()) { // 如果num在uniqueSet中
return true; // 找到了相同的元素
}
}
return false; // 没有找到相同的元素
}
int main() {
std::vector<int> vec1 = {1, 2, 3, 4, 5};
std::vector<int> vec2 = {4, 5, 6, 7, 8};
if (haveCommonElement(vec1, vec2)) {
std::cout << "Vectors have common elements.\n";
} else {
std::cout << "Vectors do not have common elements.\n";
}
return 0;
}
阅读全文