Что такое карта C ++ STL?

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

В C ++ карты по умолчанию хранят значения ключей в возрастающем порядке .

Визуальное представление карта C ++.

Синтаксис

Базовый синтаксис для инициализации карты C ++ STL следующий:

Визуальное представление карты C ++.

Следовательно, чтобы объявить карту со строковыми значениями в качестве ключей и целыми числами в качестве соответствующих им значений, мы будем использовать следующий код:

 map  sample_map;  

Встроенные функции

Карты STL содержат некоторые базовые встроенные функции. Некоторые из них объясняются ниже:

  • begin () : Возвращает итератор к первому элементу карты.

  • size () : возвращает количество элементов на карте.

  • empty () : Возвращает логическое значение, указывающее, пуста ли карта.

  • insert (pair (key, value)) : Добавляет новую пару «ключ-значение» на карту. Альтернативный способ вставки значений на карту:

  map_name [key] = value;  
  • find ( val) : передает итератор элементу val , если он найден, в противном случае возвращает m.end ()

  • erase (позиция итератора) : удаляет элемент в позиции, указанной итератором.

  • erase (const g) : удаляет е значение ключа g с карты.

  • clear () : Удаляет все элементы с карты..

Пример

В следующем примере программы используются некоторые из функций, описанных выше. Сначала он вставляет разные значения в карту, а затем выполняет итерацию для значения, соответствующего определенному ключу.

 #include  #include  #include  #include  using namespace std;  int main () {//Инициализация карты с помощью целочисленных ключей//и соответствующих строковых значений map  Employees; //Вставка значений в карту с помощью функции вставки Employees.insert (std :: pair  (101, "Jon"));  Employees.insert (std :: pair  (103, «Дейенерис»));  Employees.insert (std :: pair  (104, "Арья")); //Вставка значений с использованием обозначения индекса массива Employees [105] = "Sansa";  Сотрудники [102] = «Тирион»;  cout  :: iterator iter = Employees.begin (); iter! = Employees.end (); ++ iter) {cout  :: iterator it = Employees.find (102);  if (it! = Employees.end ()) {std :: cout "  second 

Оцените статью
nanomode.ru
Добавить комментарий