Мапе су део Ц++ СТЛ (Стандард Темплате Либрари). Мапе су асоцијативни контејнери који чувају сортирани пар кључ-вредност, у којима је сваки кључ јединствен и може се уметнути или избрисати, али се не може мењати. Вредности повезане са кључевима се могу променити.
На пример: Мапа запослених где је ИД запосленог кључ, а име вредност може се представити као:
Кључеви | Вредности |
---|---|
101 | Никита |
102 | Робин |
103 | Дубоко |
104 | Јохн |
Синтакса
template <class key, map::key_type class t, map::mapped_type compare="less," map::key_compare alloc="allocator<pair"> // map::allocator_type > class map; </class>
Параметар
кључ: Кључни тип података који се чува на мапи.
тип: Тип података вредности који се чува на мапи.
упоредити: Класа за поређење која узима два аргумента истог типа боол и враћа вредност. Овај аргумент је опциони и бинарни предикат мање је подразумевана вредност.
доделити: Тип објекта алокатора. Овај аргумент је опциони и подразумевана вредност је алокатор.
басе64 јавасцрипт декодирање
Креирање мапе
Мапе се лако могу креирати користећи следећу изјаву:
typedef pair value_type;
Горњи образац ће се користити за креирање мапе са кључем типа Тип кључа и вредност типа тип вредности. Једна важна ствар је да се кључ мапе и одговарајуће вредности увек убацују као пар, не можете уметнути само кључ или само вредност у мапу.
Пример 1
#include #include #include #include using namespace std; int main() { map Employees; // 1) Assignment using array index notation Employees[101] = 'Nikita'; Employees[105] = 'John'; Employees[103] = 'Dolly'; Employees[104] = 'Deep'; Employees[102] = 'Aman'; cout << 'Employees[104]=' << Employees[104] << endl << endl; cout << 'Map size: ' << Employees.size() << endl; cout << endl << 'Natural Order:' << endl; for( map::iterator ii=Employees.begin(); ii!=Employees.end(); ++ii) { cout << (*ii).first << ': ' << (*ii).second << endl; } cout << endl << 'Reverse Order:' << endl; for( map::reverse_iterator ii=Employees.rbegin(); ii!=Employees.rend(); ++ii) { cout << (*ii).first << ': ' << (*ii).second << endl; } }
Излаз:
Employees[104]=Deep Map size: 5 Natural Order: 101: Nikita 102: Aman 103: Dolly 104: Deep 105: John Reverse Order: 105: John 104: Deep 103: Dolly 102: Aman 101: Nikita
Функције чланова
Испод је листа свих функција чланова мапе:
Градитељ/разарач
Функције | Опис |
---|---|
конструктори | Конструишите мапу |
разарачи | Деструктор мапе |
оператор= | Копирајте елементе карте на другу мапу. |
Итератори
Функције | Опис |
---|---|
започети | Враћа итератор који показује на први елемент на мапи. |
цбегин | Враћа конст итератор који показује на први елемент на мапи. |
крај | Враћа итератор који показује на прошли крај. |
неколико | Враћа константни итератор који показује на прошли крај. |
рбегин | Враћа обрнути итератор који показује на крај. |
чини | Враћа обрнути итератор који показује на почетак. |
црбегин | Враћа константни обрнути итератор који показује на крај. |
веровати | Враћа константни обрнути итератор који показује на почетак. |
Капацитет
Функције | Опис |
---|---|
празан | Враћа тачно ако је мапа празна. |
величина | Враћа број елемената на мапи. |
мак_сизе | Враћа максималну величину мапе. |
Елемент Аццесс
Функције | Опис |
---|---|
оператер[] | Преузми елемент са датим кључем. |
ат | Преузми елемент са датим кључем. |
Модификатори
Функције | Опис |
---|---|
уметнути | Уметните елемент у мапу. |
обрисати | Обришите елементе са мапе. |
свап | Размените садржај мапе. |
јасно | Избришите све елементе мапе. |
локација | Конструишите и убаците нове елементе у мапу. |
емплаце_хинт | Конструишите и убаците нове елементе у мапу помоћу наговештаја. |
Посматрачи
Функције | Опис |
---|---|
кеи_цомп | Врати копију објекта за поређење кључева. |
валуе_цомп | Врати копију објекта за поређење вредности. |
Операције
Функције | Опис |
---|---|
наћи | Потражите елемент са датим кључем. |
цоунт | Добија број елемената који се подударају са датим кључем. |
Доња граница | Враћа итератор на доњу границу. |
Горња граница | Враћа итератор на горњу границу. |
једнак_опсег | Приказује опсег елемената који се подудара са датим кључем. |
Алоцатор
Функције | Опис |
---|---|
гет_аллоцатор | Враћа објекат алокатора који се користи за конструисање мапе. |
Преоптерећене функције које нису чланови
Функције | Опис |
---|---|
оператор== | Проверава да ли су две карте једнаке или не. |
оператор!= | Проверава да ли су две карте једнаке или не. |
оператор< | Проверава да ли је прва мапа мања од друге или не. |
оператер<=< td> | Проверава да ли је прва мапа мања или једнака другој или не. | =<>
оператор> | Проверава да ли је прва мапа већа од друге или не. |
оператор>= | Проверава да ли је прва мапа већа од једнака другој или не. |
свап() | Размењује елемент две карте. |