Карта векторов в C ++ STL с примерами

Опубликовано: 29 Декабря, 2021

Карта в STL Карты - это ассоциативные контейнеры, в которых элементы хранятся сопоставленным образом. Каждый элемент имеет значение ключа и сопоставленное значение. Никакие два сопоставленных значения не могут иметь одинаковые ключевые значения.

Вектор в STL. Вектор - это то же самое, что и динамические массивы, с возможностью автоматического изменения размера при вставке или удалении элемента, а их хранение автоматически обрабатывается контейнером. Элементы вектора помещаются в непрерывное хранилище, чтобы к ним можно было получить доступ и пройти с помощью итераторов.

Карта векторов в STL: карта векторов может быть очень эффективной при проектировании сложных структур данных.

Синтаксис:

карта <ключ, вектор <тип данных>> map_of_vector;
ИЛИ
карта <вектор <тип данных>, ключ> map_of_vector;

Например : рассмотрим простую задачу, в которой мы должны проверить, посещен ли вектор или нет.

// C++ program to demonstrate
// use of map for vectors
#include <bits/stdc++.h>
using namespace std;
map<vector< int >, int > vis;
// Print True if vector is visited
// or False if not visited
void CheckVisited(vector< int > data)
{
if (vis.find(data) != vis.end()) {
cout << "True" << endl;
}
else {
cout << "False" << endl;
}
}
// Driver code
int main()
{
// Initializing some vectors
vector< int > data_1{ 10, 20, 30, 40 };
vector< int > data_2{ 5, 10, 15 };
vector< int > data_3{ 1, 3, 5, 7, 9, 11, 13 };
// Making some vectors as visited
vis[data_1] = 1;
vis[data_2] = 1;
vis[data_3] = 1;
// checking if these vectors are
// visited or not
vector< int > check_1 = { 5, 10, 15 };
vector< int > check_2 = { 2, 4, 6, 8, 10, 12 };
CheckVisited(check_1);
CheckVisited(check_2);
return 0;
}
Выход:
Правда
Ложь
Хотите узнать о лучших видео и практических задачах, ознакомьтесь с базовым курсом C ++ для базового и продвинутого уровня C ++ и курсом C ++ STL для базового уровня плюс STL. Чтобы завершить подготовку от изучения языка к DS Algo и многому другому, см. Полный курс подготовки к собеседованию .



C++