6, 10, 2, 8, 4 je množina; 2, 4, 6, 8, 10 je množina rovnakých celých čísel usporiadaných vzostupne. V matematike má množina jedinečné prvky (odlišné prvky), to znamená, že žiaden prvok sa nevyskytuje viackrát. Multiset je ďalej množina, v ktorej sa ľubovoľný prvok môže vyskytnúť viackrát. 6, 6, 10, 2, 2, 8, 4, 4, 4 je multiset. 2, 2, 4, 4, 4, 6, 6, 8, 10 je rovnaká multiset, ale s prvkami usporiadanými vzostupne. Tento článok sa nezaoberá multisetom. Zaoberá sa dátovou štruktúrou C ++ nazvanou, set.
Mapa v softvéri je ako pole, ale je to pole s dvoma stĺpcami namiesto jedného. Prvý stĺpec obsahuje kľúče a druhý stĺpec obsahuje hodnoty. Každý riadok je jeden pár, ktorý vytvára pár kľúč / hodnota. Kľúč priamo súvisí s jeho hodnotou.
Príklad mapy je 'c', 30, 'b', 20, 'd', 30, 'e', 40, 'a', 10. Prvý pár kľúč / hodnota, ktorý je sem vložený, je 'c', 3, kde 'c' je kľúč a 30 je hodnota. Táto mapa nie je zoradená podľa kľúčov. Zoradenie tejto mapy podľa kľúčov vytvorí 'a', 10, 'b', 20, 'c', 30, 'd', 30, 'e', 40. Všimnite si, že môžu existovať duplicitné hodnoty, ale nie duplicitné kľúče. Objednaná mapa je mapa zoradená podľa kľúčov.
Multiset predstavuje sadu, rovnako ako multimapa mapu. To znamená, že existujú mapy s duplikátmi kľúčov. Príkladom multimap je 'a', 10, 'b', 20, 'b', 20, 'c', 30, 'c', 30, 'd ', 30, ' e ', 40. A ako je uvedené vyššie, tento článok sa nezaoberá multimapou, skôr sa zaoberá dátovou štruktúrou C ++ nazvanou map.
V C ++ je dátová štruktúra štruktúra s vlastnosťami (dátové členy) a metódami (členské funkcie). Údaje o štruktúre sú zoznam; sada je zoznam; mapa je zoznam párov kľúč / hodnota.
Tento článok pojednáva o základoch množín a máp v jazyku C ++ a na lepšie pochopenie tohto článku by mal mať čitateľ základné znalosti jazyka C++.
Obsah článku:
- Trieda a jej objekty
- Vytváranie súpravy alebo mapy
- Základy iterátora
- Element Access pre množinu a mapu
- Poradie prvkov v množine alebo na mape
- Ďalšie bežne používané členské funkcie
- Záver
Trieda a jej objekty:
V C ++ sa množina, mapa a ďalšie podobné štruktúry nazývajú kontajnery. Trieda je zovšeobecnená jednotka s dátovými členmi, ktoré sú premennými, a príbuznými členskými funkciami. Keď majú dátové členy dané hodnoty, vytvorí sa objekt. Objekt sa však formuje v procese zvanom inštancia. Pretože trieda môže viesť k rôznym hodnotám pre tie isté premenné dátových členov, z tej istej triedy je možné vytvoriť inštanciu rôznych objektov.
V C ++ je nepoužiteľnou sadou trieda, ako aj nepoužiteľná mapa. Keď sa objekt vytvorí z nepoužiteľnej množiny alebo nepoužiteľnej mapy, objekt sa stane skutočnou dátovou štruktúrou. S dátovými štruktúrami množín a máp je hlavným údajovým členom zoznam. Sada a mapa tvoria skupinu kontajnerov, ktoré sa nazývajú objednané asociatívne kontajnery. Existuje aj neusporiadaná množina a neusporiadaná mapa, ktoré sa však v tomto článku bohužiaľ nezaoberajú.
Vytvorenie súpravy alebo mapy:
Instanciou množiny z jej triedy množín sa vytvorí množina; vytvorenie inštancie mapy z jej triedy máp je vytvorenie mapy. Takto vytvorený objekt dostane názov podľa výberu programátora.
S cieľom vytvoriť súpravu by program mal začínať:
#include
#include
pomocou namespace std; Všimnite si smernicu „#include ”, Ktorý obsahuje knižnicu množín, ktorá má triedu množiny, z ktorej budú inštancované dátové štruktúry množiny.
Aby bolo možné vytvoriť mapu, program by mal začínať:
#include
#include