用C++判断一个数组是否包含另一个数组
时间: 2023-12-18 07:05:53 浏览: 34
要判断一个数组是否包含另一个数组,可以使用C++的STL库函数来实现。以下是一个示例代码:
```cpp
#include <iostream>
#include <vector>
#include <algorithm>
bool containsArray(const std::vector<int>& arr1, const std::vector<int>& arr2) {
// 先判断数组长度是否符合要求
if (arr1.size() < arr2.size()) {
return false;
}
// 利用STL的includes函数来判断arr1是否包含arr2
return std::includes(arr1.begin(), arr1.end(), arr2.begin(), arr2.end());
}
int main() {
std::vector<int> arr1 = {1, 2, 3, 4, 5};
std::vector<int> arr2 = {3, 4};
if (containsArray(arr1, arr2)) {
std::cout << "arr1 contains arr2." << std::endl;
} else {
std::cout << "arr1 does not contain arr2." << std::endl;
}
return 0;
}
```
在上述代码中,我们定义了一个`containsArray`函数,该函数接收两个`std::vector<int>`类型的参数,分别表示待查找的数组`arr1`和目标数组`arr2`。首先,我们通过数组长度的比较来判断是否符合包含关系。然后,我们使用STL的`includes`函数来判断`arr1`是否包含`arr2`,如果包含,则返回`true`,否则返回`false`。
在主函数中,我们定义了两个示例数组`arr1`和`arr2`,然后调用`containsArray`函数来判断`arr1`是否包含`arr2`,然后打印相应的结果。
注意:此方法是判断arr1是否完全包含arr2,即arr2中的所有元素都存在于arr1中,并且arr1中可能还有其他元素。如果要判断arr1是否包含arr2中的任意一个元素,可以使用其他方法,比如遍历循环判断。