6, 10, 2, 8, 4 egy halmaz; A 2, 4, 6, 8, 10 ugyanazon egész számok halmaza növekvő sorrendben. A matematikában egy halmaz egyedi elemekkel (különálló elemekkel) rendelkezik, vagyis egyetlen elem sem fordul elő többször. Ezenkívül a multiset egy halmaz, ahol bármely elem többször előfordulhat. 6, 6, 10, 2, 2, 8, 4, 4, 4 egy multiset. 2, 2, 4, 4, 4, 6, 6, 8, 10 ugyanaz a többszörös, de az elemek növekvő sorrendben vannak elrendezve. Ez a cikk nem foglalkozik a multisetekkel. A set, úgynevezett C ++ adatstruktúrával foglalkozik.
A szoftveres térkép olyan, mint egy tömb, de egy tömb, amelyben egy oszlop helyett két oszlop található. Az első oszlopban vannak kulcsok, a másodikban pedig az értékek. Minden sor egy pár, ami egy kulcs / érték pár. A kulcs közvetlenül kapcsolódik az értékéhez.
A térképre példa: 'c', 30, 'b', 20, 'd', 30, 'e', 40, 'a', 10. Az első ide beillesztett kulcs / érték pár: 'c', 3, ahol 'c' a kulcs és 30 az érték. Ezt a térképet nem kulcsok rendezik. A térkép kulcsokkal történő rendezése 'a', 10, 'b', 20, 'c', 30, 'd', 30, 'e', 40. Figyelje meg, hogy lehetnek duplikált értékek, de nem duplikált kulcsok. A rendezett térkép kulcsokkal rendezett térkép.
A multiset egy halmaz, mint a multimap egy térkép. Ez azt jelenti, hogy vannak térképek duplikált kulcsokkal. A multimapra példa: 'a', 10, 'b', 20, 'b', 20, 'c', 30, 'c', 30, 'd ', 30, ' e ', 40. És mint fentebb említettük, ez a cikk nem foglalkozik a multimap-tal, inkább a C ++ adatstruktúrával,.
A C ++ nyelven az adatstruktúra egy tulajdonságokkal (adat tagok) és módszerekkel (tag függvények) rendelkező struktúra. A szerkezet adatai egy lista; egy halmaz egy lista; a térkép a kulcs / érték párok listája.
Ez a cikk a halmazok és térképek alapjait tárgyalja a C ++ nyelven, és a cikk jobb megértése érdekében az olvasónak alapvető ismeretekkel kellett volna rendelkeznie a C ++ nyelven++.
A cikk tartalma:
- Osztály és tárgyai
- Készlet vagy térkép készítése
- Iterátor alapjai
- Elem hozzáférés halmazhoz és térképhez
- Elemek sorrendje halmazban vagy térképen
- Egyéb általánosan használt tagfunkciók
- Következtetés
Osztály és tárgyai:
A C ++ - ban a halmazt, a térképet és más hasonló struktúrákat konténereknek nevezzük. Az osztály egy általánosított egység, amelynek tagjai adattagok, amelyek változók, és tagfunkciók, amelyek összefüggenek. Amikor az adattagok értékeket kapnak, akkor egy objektum jön létre. Az objektum azonban az úgynevezett példányosítás során képződik. Mivel egy osztály különböző értékekhez vezethet ugyanazon adattag-változóknál, akkor különböző objektumok példányosíthatók ugyanabból az osztályból.
A C ++ nyelven a használhatatlan halmaz egy osztály, valamint egy használhatatlan térkép. Amikor egy objektumot a használhatatlan halmazból vagy a használhatatlan térképből példányosítanak, az objektum válik a valódi adatstruktúrává. A halmaz- és térképadat-struktúrákkal a fő adattag egy lista. Nos, a halmaz és a térkép egy csoportot alkot az úgynevezett, rendezett asszociatív konténerekből. Rendezetlen halmaz és rendezetlen térkép is létezik, de ezekkel a cikkekkel sajnos nem foglalkozunk.
Készlet vagy térkép létrehozása:
Egy halmaznak a halmaz osztályából történő létrehozása halmaz létrehozása; egy térkép megjelenítése a térkép osztályából létrehoz egy térképet. Az így létrehozott objektum a programozó által választott nevet kapja.
Készlet létrehozása érdekében a programnak a következőkkel kell kezdődnie:
#include
#include
névtér használata std; Vegye figyelembe a „#include ”, Amely magában foglalja azt a készlet könyvtárat, amely rendelkezik azzal a halmaz osztállyal, amelyből a halmaz adatstruktúrái példányosak lesznek.
Térkép létrehozása érdekében a programnak a következőkkel kell kezdődnie:
#include
#include