两个相同map容器实值不重复比较
时间: 2023-08-04 09:08:28 浏览: 80
如果您想比较两个相同的 map 容器的实值是否不重复,可以使用以下方法:
1. 遍历 map 容器,将值存储在一个 set 容器中,如果 set 容器的大小等于 map 容器的大小,则说明实值不重复。
具体实现可以参考以下示例代码:
```c++
#include <iostream>
#include <map>
#include <set>
using namespace std;
bool compareMaps(map<int, int>& map1, map<int, int>& map2) {
set<int> set1;
set<int> set2;
for (auto& p : map1) {
set1.insert(p.second);
}
for (auto& p : map2) {
set2.insert(p.second);
}
return set1.size() == map1.size() && set2.size() == map2.size();
}
int main() {
map<int, int> map1{{1, 2}, {3, 4}, {5, 6}};
map<int, int> map2{{5, 6}, {3, 4}, {1, 2}};
map<int, int> map3{{1, 2}, {3, 4}, {5, 6}, {7, 6}};
cout << compareMaps(map1, map2) << endl; // expect true
cout << compareMaps(map1, map3) << endl; // expect false
return 0;
}
```
阅读全文