* 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
2.8 KiB
2.8 KiB
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 ++ здесь