c++ 判断两个vector 是否相等
时间: 2024-10-05 18:04:48 浏览: 39
C++ Vector 动态数组的实现
在 C++ 中,判断两个 `std::vector` 是否相等通常需要比较它们的内容是否完全一致,包括元素的类型、大小以及每个元素的具体值。这里提供一种简单直接的方式:
```cpp
#include <iostream>
#include <vector>
// 使用标准算法 std::equal 和 == 操作符
bool vectorsEqual(const std::vector<int>& v1, const std::vector<int>& v2) {
return v1.size() == v2.size() && std::equal(v1.begin(), v1.end(), v2.begin());
}
int main() {
std::vector<int> vec1 = {1, 2, 3};
std::vector<int> vec2 = {1, 2, 3};
if (vectorsEqual(vec1, vec2)) {
std::cout << "Vectors are equal." << std::endl;
} else {
std::cout << "Vectors are not equal." << std::endl;
}
return 0;
}
```
这个函数首先检查两个 vector 的长度是否相同,然后使用 `std::equal` 算法比较两个 vector 内部所有对应位置的元素是否都相等。如果两者都满足条件,那么返回 true,表示这两个 vector 相等。
如果你的 vector 元素类型不是基本类型(如 int),你需要提供相应的比较方法(比如通过重载 `==` 运算符)。对于自定义类型,可以传递一个比较函数作为第三个参数给 `std::equal`。
阅读全文