📜  C++ STL 中的集合映射及示例

📅  最后修改于: 2022-05-13 01:54:55.553000             🧑  作者: Mango

C++ STL 中的集合映射及示例

地图是以映射方式存储元素的关联容器。每个元素都有一个键值和一个映射值。没有两个映射值可以具有相同的键值。

集合是一种关联容器,其中每个元素都必须是唯一的,因为元素的值标识了它。元素的值一旦添加到集合中就无法修改,尽管可以删除和添加该元素的修改值。

STL 中的集合映射:集合映射在设计复杂的数据结构和算法时非常有用。

句法:

让我们看看如何在 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