判断两个vector是否相等
时间: 2023-05-25 15:01:47 浏览: 66
A:判断两个vector是否相等需要比较它们的元素个数和每个元素的值。可以通过以下代码实现:
```
bool isEqual(vector<int>& v1, vector<int>& v2) {
int n1 = v1.size(), n2 = v2.size();
if (n1 != n2) return false;
for (int i = 0; i < n1; ++i) {
if (v1[i] != v2[i]) return false;
}
return true;
}
```
该函数接收两个vector的引用,分别为v1和v2,返回值为bool类型,表示它们是否相等。首先判断它们的元素个数是否相等,如果不相等则直接返回false。然后逐个比较它们的元素是否相等,如果有一个元素不相等,则返回false。如果所有的元素都相等,则返回true。
相关问题
std::vetcor 判断两个元素相等
std::vector没有直接判断两个元素相等的函数,但可以使用std::equal函数来判断两个vector是否相等。
示例代码:
```cpp
#include <iostream>
#include <vector>
#include <algorithm>
int main() {
std::vector<int> v1 = {1, 2, 3};
std::vector<int> v2 = {1, 2, 3};
std::vector<int> v3 = {1, 2, 4};
bool isEqual1 = std::equal(v1.begin(), v1.end(), v2.begin());
bool isEqual2 = std::equal(v1.begin(), v1.end(), v3.begin());
std::cout << std::boolalpha << isEqual1 << std::endl; //true
std::cout << std::boolalpha << isEqual2 << std::endl; //false
return 0;
}
```
在上面的示例代码中,我们使用std::equal函数分别判断了v1和v2、v1和v3是否相等。其中,std::boolalpha是一个输出流格式标记,将bool类型的值以true或false形式输出。
std::vector 判断两个元素相等 并删除其中一个元素
可以使用 std::remove_if 算法结合 lambda 表达式来实现:
```c++
#include <iostream>
#include <vector>
#include <algorithm>
int main() {
std::vector<int> vec = {1, 2, 3, 2, 4, 5, 2};
vec.erase(std::remove_if(vec.begin(), vec.end(), [&](int x) {
return x == 2 && std::count(vec.begin(), vec.end(), 2) > 1;
}), vec.end());
for (auto x : vec) {
std::cout << x << " ";
}
std::cout << std::endl;
return 0;
}
```
以上代码中,lambda 表达式中的 x == 2 && std::count(vec.begin(), vec.end(), 2) > 1 表示只有当 x 的值为 2,且在整个 vector 中 2 的个数大于 1 时才返回 true,也就是只删除其中一个 2。
执行结果:
```
1 3 2 4 5
```
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)