怎么比较两个map一直
时间: 2023-08-02 12:11:42 浏览: 34
比较两个map可以分为两种情况:
1. 比较两个map的key和value是否完全相同。
可以通过以下代码实现:
```c++
bool mapsAreEqual(std::map<int, int> map1, std::map<int, int> map2) {
if (map1.size() != map2.size()) {
return false;
}
for (auto& entry : map1) {
auto it = map2.find(entry.first);
if (it == map2.end() || it->second != entry.second) {
return false;
}
}
return true;
}
```
2. 比较两个map的key是否相同,而不考虑value。
可以通过以下代码实现:
```c++
bool mapsHaveSameKeys(std::map<int, int> map1, std::map<int, int> map2) {
if (map1.size() != map2.size()) {
return false;
}
for (auto& entry : map1) {
if (map2.find(entry.first) == map2.end()) {
return false;
}
}
return true;
}
```
以上代码均假设map中的key和value都是int类型,可以根据实际情况进行修改。