C++ STL 中的集合映射及示例
地图是以映射方式存储元素的关联容器。每个元素都有一个键值和一个映射值。没有两个映射值可以具有相同的键值。
集合是一种关联容器,其中每个元素都必须是唯一的,因为元素的值标识了它。元素的值一旦添加到集合中就无法修改,尽管可以删除和添加该元素的修改值。
STL 中的集合映射:集合映射在设计复杂的数据结构和算法时非常有用。
句法:
map
or
map
让我们看看如何在 C++ 中实现 Maps of Sets:
C++
// C++ program to demonstrate use of map of set
#include
using namespace std;
void show(map >& mapOfSet)
{
// Using iterator to access
// key, value pairs present
// inside the mapOfSet
for (auto it = mapOfSet.begin();
it != mapOfSet.end();
it++) {
// Key is integer
cout << it->first << " => ";
// Value is a set of string
set st = it->second;
// Strings will be printed
// in sorted order as set
// maintains the order
for (auto it = st.begin();
it != st.end(); it++) {
cout << (*it) << ' ';
}
cout << '\n';
}
}
// Driver code
int main()
{
// Declaring a map whose key
// is of integer type and
// value is a set of string
map > mapOfSet;
// Inserting values in the
// set mapped with key 1
mapOfSet[1].insert("Geeks");
mapOfSet[1].insert("For");
// Set stores unique or
// distinct elements only
mapOfSet[1].insert("Geeks");
// Inserting values in the
// set mapped with key 2
mapOfSet[2].insert("Is");
mapOfSet[2].insert("The");
// Inserting values in the
// set mapped with key 3
mapOfSet[3].insert("Great");
mapOfSet[3].insert("Learning");
// Inserting values in the
// set mapped with key 4
mapOfSet[4].insert("Platform");
show(mapOfSet);
return 0;
}
输出
1 => For Geeks
2 => Is The
3 => Great Learning
4 => Platform