6, 10, 2, 8, 4 je sada; 2, 4, 6, 8, 10 je sada stejných celých čísel uspořádaných vzestupně. V matematice má sada jedinečné prvky (odlišné prvky), to znamená, že žádný prvek se nevyskytuje vícekrát. Multiset je dále sada, kde se jakýkoli prvek může vyskytnout vícekrát. 6, 6, 10, 2, 2, 8, 4, 4, 4 je multiset. 2, 2, 4, 4, 4, 6, 6, 8, 10 je stejná multiset, ale s prvky uspořádanými vzestupně. Tento článek se nezabývá multisetem. Zabývá se datovou strukturou C ++ s názvem set.
Mapa v softwaru je jako pole, ale je to pole se dvěma sloupci místo jednoho. První sloupec má klíče a druhý sloupec má hodnoty. Každý řádek je jeden pár, který tvoří pár klíč / hodnota. Klíč přímo souvisí s jeho hodnotou.
Příklad mapy je '', 30, 'b', 20, 'd', 30, 'e', 40, 'a', 10. První zde vložený pár klíč / hodnota je 'c', 3, kde 'c' je klíč a 30 je hodnota. Tato mapa není řazena pomocí klíčů. Řazení této mapy pomocí klíčů vytvoří 'a', 10, 'b', 20, 'c', 30, 'd', 30, 'e', 40. Všimněte si, že mohou existovat duplicitní hodnoty, ale ne duplicitní klíče. Objednaná mapa je mapa seřazená pomocí kláves.
Multiset je sada, stejně jako multimapa mapa. To znamená, že existují mapy s duplikáty klíčů. Příkladem multimap je 'a', 10, 'b', 20, 'b', 20, 'c', 30, 'c', 30, 'd ', 30, ' e ', 40. A jak je uvedeno výše, tento článek se nezabývá multimapou, spíše se zabývá datovou strukturou C ++ nazvanou map.
V C ++ je datová struktura struktura s vlastnostmi (datové členy) a metodami (členské funkce). Data struktury jsou seznam; sada je seznam; mapa je seznam párů klíč / hodnota.
Tento článek pojednává o základech množin a map v C ++ a pro lepší pochopení tohoto článku by měl mít čtenář základní znalosti jazyka C++.
Obsah článku:
- Třída a její objekty
- Vytvoření sady nebo mapy
- Základy iterátoru
- Přístup k prvku pro sadu a mapu
- Pořadí prvků v sadě nebo na mapě
- Další běžně používané členské funkce
- Závěr
Třída a její objekty:
V C ++ se sada, mapa a další podobné struktury nazývají kontejnery. Třída je zobecněná jednotka s datovými členy, což jsou proměnné, a související členské funkce. Když jsou datovým členům dány hodnoty, vytvoří se objekt. Objekt se však tvoří v procesu zvaném instancování. Protože třída může vést k různým hodnotám pro stejné proměnné datových členů, lze ze stejné třídy vytvořit instanci různých objektů.
V C ++ je nepoužitelná sada třída a nepoužitelná mapa. Když je objekt vytvořen z nepoužitelné sady nebo nepoužitelné mapy, objekt se stane skutečnou datovou strukturou. U datových struktur sady a mapy je hlavním datovým členem seznam. Sada a mapa tvoří skupinu volaných kontejnerů, seřazených asociativních kontejnerů. Neuspořádaná sada a neuspořádaná mapa také existují, ale těm se bohužel tento článek nezabývá.
Vytvoření sady nebo mapy:
Instancí sady z její třídy třídy je vytvoření sady; vytvoření instance mapy z její třídy mapy je vytvoření mapy. Takto vytvořenému objektu je přidělen název podle volby programátora.
Aby bylo možné vytvořit sadu, program by měl začínat:
#zahrnout
#zahrnout
pomocí jmenného prostoru std; Všimněte si směrnice „#include ”, Který zahrnuje knihovnu sad, která má třídu sad, ze které budou vytvořeny instance datových struktur sady.
Aby bylo možné vytvořit mapu, program by měl začínat:
#zahrnout
#zahrnout