logo

Ц++ функција мапе

Мапе су део Ц++ СТЛ (Стандард Темплате Либрари). Мапе су асоцијативни контејнери који чувају сортирани пар кључ-вредност, у којима је сваки кључ јединствен и може се уметнути или избрисати, али се не може мењати. Вредности повезане са кључевима се могу променити.

На пример: Мапа запослених где је ИД запосленог кључ, а име вредност може се представити као:

Кључеви Вредности
101 Никита
102 Робин
103 Дубоко
104 Јохн

Синтакса

 template <class key, map::key_type class t, map::mapped_type compare="less," map::key_compare alloc="allocator&lt;pair"> // map::allocator_type &gt; 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] = &apos;Nikita&apos;; Employees[105] = &apos;John&apos;; Employees[103] = &apos;Dolly&apos;; Employees[104] = &apos;Deep&apos;; Employees[102] = &apos;Aman&apos;; cout &lt;&lt; &apos;Employees[104]=&apos; &lt;&lt; Employees[104] &lt;&lt; endl &lt;&lt; endl; cout &lt;&lt; &apos;Map size: &apos; &lt;&lt; Employees.size() &lt;&lt; endl; cout &lt;&lt; endl &lt;&lt; &apos;Natural Order:&apos; &lt;&lt; endl; for( map::iterator ii=Employees.begin(); ii!=Employees.end(); ++ii) { cout &lt;&lt; (*ii).first &lt;&lt; &apos;: &apos; &lt;&lt; (*ii).second &lt;&lt; endl; } cout &lt;&lt; endl &lt;&lt; &apos;Reverse Order:&apos; &lt;&lt; endl; for( map::reverse_iterator ii=Employees.rbegin(); ii!=Employees.rend(); ++ii) { cout &lt;&lt; (*ii).first &lt;&lt; &apos;: &apos; &lt;&lt; (*ii).second &lt;&lt; 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> Проверава да ли је прва мапа мања или једнака другој или не.
оператор> Проверава да ли је прва мапа већа од друге или не.
оператор>= Проверава да ли је прва мапа већа од једнака другој или не.
свап() Размењује елемент две карте.