Files
freeCodeCamp/guide/russian/cplusplus/map/index.md
Randell Dawson 0a1eeea424 fix(guide) Replace invalid prism code block names (#35961)
* fix: replace sh with shell

fix replace terminal with shell

fix replace node with js

fix replace output with shell

fix replace cs with csharp

fix replace c++ with cpp

fix replace c# with csharp

fix replace javasctipt with js

fix replace syntax  with js

fix replace unix with shell

fix replace linux with shell

fix replace java 8 with java

fix replace swift4 with swift

fix replace react.js with jsx

fix replace javascriot with js

fix replace javacsript with js

fix replace c++ -  with cpp

fix: corrected various typos

fix: replace Algorithm with nothing

fix: replace xaml with xml

fix: replace solidity with nothing

fix: replace c++ with cpp

fix: replace txt with shell

fix: replace code with json and css

fix: replace console with shell
2019-05-15 19:08:19 +02:00

2.8 KiB
Raw Blame History

title, localeTitle
title localeTitle
Map карта

Введение карты

map - ассоциативный контейнер, который хранит элементы в паре ключ-значение. Так же, как в Java есть коллекция, ассоциативный массив в PHP и так далее.

Преимущества использования карты

  • В нем хранятся только уникальные ключи, и это тоже упорядочено в соответствии с его назначенными критериями сортировки.
  • Поскольку ключи находятся в отсортированном порядке, поэтому поиск элемента на карте через ключ очень быстрый, т.е. он берет логарифмическое время.
  • На map будет только одно значение, прикрепленное к каждому ключу.
  • map может использоваться как ассоциативные массивы.
  • Он может быть реализован с использованием сбалансированных двоичных деревьев.

Вот пример:

#include <iostream> 
 #include <map> 
 
 using namespace std; 
 
 int main (){ 
  map<char,int> first; 
 
  //initializing 
  first['a']=10; 
  first['b']=20; 
  first['c']=30; 
  first['d']=40; 
 
   map<char, int>::iterator it; 
   for(it=first.begin(); it!=first.end(); ++it){ 
      cout << it->first << " => " << it->second << '\n'; 
   } 
 
  return 0; 
 } 

Вывод:

a => 10 
 b => 20 
 c => 30 
 d => 40 

Создание объекта карты

map<string, int> myMap;

вставка

Вставка данных с функцией вставки.

myMap.insert(make_pair("earth", 1)); 
 myMap.insert(make_pair("moon", 2)); 

Мы также можем вставлять данные в std :: map, используя оператор [], т.е.

myMap["sun"] = 3;

Доступ к элементам карты

Чтобы получить доступ к элементам карты, вам необходимо создать для нее итератор. Вот пример, как было сказано ранее.

map<char, int>::iterator it; 
 for(it=first.begin(); it!=first.end(); ++it){ 
  cout << it->first << " => " << it->second << '\n'; 
 } 

Здесь вы можете узнать больше о карте: cpluspluc_map

NB: весь код в примере приведен в версии C ++ 11. Вы можете узнать больше о версии C ++ здесь