遍历 C++ STL 中的映射(或无序映射)
在此我们将看到映射容器及其在 C++ 中的用法。映射被定义为关联容器,以哈希映射方式存储元素。每个元素都与一个键和值关联。没有两个映射值可以具有相同的键。这是 C++ 中映射容器中存在的一些基本方法。
begin(): 这将返回映射中第一个元素的迭代器。
end() − 这将返回映射中最后一个元素之后理论元素的迭代器。
size() − 这将返回映射中的元素数量。
max_size() − 这将返回映射可以容纳的最大元素数量。
empty() − 这将返回映射是否为空。
范例
让我们看看以下实现以获得更好的理解 −
#include <bits/stdc++.h> using namespace std; int main() { int A[] = { 2, 2, 3, 2, 2, 4, 5, 4 }; int num = sizeof(A) / sizeof(A[0]); map<int, int> my_map; for (int p = 0; p < num; p++) my_map[A[p]]++; cout <<"Item Frequency"<< endl; for (auto p : my_map) cout << p.first <<" : "<< p.second << endl; }
输出
Item Frequency 2 : 4 3 : 1 4 : 2 5 : 1
unordered_map 是 C++ STL 中存在的另一种类型的地图容器。这是一个关联容器,它收集或存储由键值对组合形成的元素。键用于唯一标识该值。在这种情况下,键和值都可以是任何预定义或用户定义的类型。
范例
让我们看看以下实现以获得更好的理解 −
#include <bits/stdc++.h> using namespace std; int main() { int A[] = { 2, 2, 3, 2, 2, 4, 5, 4 }; int num = sizeof(A) / sizeof(A[0]); unordered_map<int, int> my_map; for (int p = 0; p < num; p++) my_map[A[p]]++; cout <<Item Frequency"<< endl; for (auto p : my_map) cout << p.first <<" : "<< p.second << endl; }
输出
Item Frequency 5 : 1 4 : 2 2 : 4 3 : 1
广告