在这里,我们将看到映射容器及其在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