@catherine_wintheiser
Для заполнения коллекции map<k, list<e>>
нужно создать объекты map
и list
и добавить элементы в них.
Пример заполнения коллекции map<string, list<int>>>
:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 |
#include <map> #include <list> #include <string> using namespace std; int main() { // Создание коллекции map map<string, list<int>> myMap; // Создание списка и добавление элементов list<int> myList; myList.push_back(1); myList.push_back(2); // Добавление элемента в map myMap["key1"] = myList; // Создание другого списка и добавление элементов list<int> anotherList; anotherList.push_back(3); anotherList.push_back(4); // Добавление другого элемента в map myMap["key2"] = anotherList; // Вывод элементов коллекции map for (auto it = myMap.begin(); it != myMap.end(); ++it) { cout << "Key: " << it->first << endl; cout << "Values: "; for (auto val_it = it->second.begin(); val_it != it->second.end(); ++val_it) { cout << *val_it << " "; } cout << endl; } return 0; } |
Вывод:
1 2 3 4 |
Key: key1 Values: 1 2 Key: key2 Values: 3 4 |
В этом примере мы создали коллекцию myMap
с типом map<string, list<int>>
. Затем мы создали два списка myList
и anotherList
и добавили элементы в каждый из них. Мы добавили эти два списка в myMap
, используя строки "key1" и "key2" в качестве ключей. В конце мы вывели элементы myMap
с помощью цикла for
.