6, 10, 2, 8, 4 er et sett; 2, 4, 6, 8, 10 er et sett med samme heltall, ordnet i stigende rekkefølge. I matematikk har et sett unike elementer (distinkte elementer), og det vil si at ingen elementer forekommer mer enn en gang. Videre er et multisett et sett der ethvert element kan forekomme mer enn en gang. 6, 6, 10, 2, 2, 8, 4, 4, 4 er et multisett. 2, 2, 4, 4, 4, 6, 6, 8, 10 er samme multisett, men med elementene ordnet i stigende rekkefølge. Denne artikkelen handler ikke om multisett. Den tar for seg C ++ datastrukturen kalt set.
Et kart i programvare er som en matrise, men det er en matrise med to kolonner i stedet for en. Den første kolonnen har nøklene og den andre kolonnen har verdiene. Hver rad er ett par, og lager et nøkkel / verdipar. En nøkkel er direkte relatert til verdien.
Et eksempel på et kart er 'c', 30, 'b', 20, 'd', 30, 'e', 40, 'a', 10. Det første nøkkel / verdiparet som er satt inn her, er 'c', 3, hvor 'c' er nøkkelen og 30 er verdien. Dette kartet er ikke ordnet etter nøkler. Å bestille dette kartet med tastene produserer 'a', 10, 'b', 20, 'c', 30, 'd', 30, 'e', 40. Legg merke til at det kan være dupliserte verdier, men ikke dupliserte nøkler. Et bestilt kart er et kart bestilt etter nøkler.
Et multisett er til et sett, som et multikart er et kart. Dette betyr at det er kart med dupliserte nøkler. Et eksempel på et multikart er 'a', 10, 'b', 20, 'b', 20, 'c', 30, 'c', 30, 'd ', 30, ' e ', 40. Og som nevnt ovenfor handler denne artikkelen ikke om multimap, men snarere om C ++ datastrukturen kalt map.
I C ++ er en datastruktur en struktur med egenskaper (datamedlemmer) og metoder (medlemsfunksjoner). Dataene til strukturen er en liste; et sett er en liste; et kart er en liste over nøkkel- / verdipar.
Denne artikkelen diskuterer det grunnleggende om sett og kart i C ++, og for å forstå denne artikkelen bedre, burde leseren ha hatt grunnleggende kunnskap om C++.
Artikkelinnhold:
- Klassen og dens gjenstander
- Opprette et sett eller et kart
- Grunnleggende om Iterator
- Element Access for sett og kart
- Elementsrekkefølge i et sett eller kart
- Andre vanlige medlemsfunksjoner
- Konklusjon
Klasse og dens gjenstander:
I C ++ kalles settet, kartet og andre lignende strukturer containere. En klasse er en generalisert enhet med data-medlemmer, som er variabler, og medlemsfunksjoner som er relatert. Når data-medlemmer får verdier, dannes et objekt. Imidlertid blir et objekt dannet i en prosess som kalles instantiering. Ettersom en klasse kan føre til forskjellige verdier for de samme dataelementvariablene, kan forskjellige objekter deretter instantieres fra samme klasse.
I C ++ er et ubrukelig sett en klasse, så vel som et ubrukelig kart. Når et objekt instantiseres fra det ubrukelige settet eller det ubrukelige kartet, blir objektet den virkelige datastrukturen. Med sett- og kartdatastrukturene er hoveddatamedlemmet en liste. Sett, og kartet danner en gruppe containere kalt, bestilte assosiative containere. Ubestilt sett og det uordnede kartet eksisterer også, men de er dessverre ikke omtalt i denne artikkelen.
Opprette et sett eller et kart:
Instantiering av et sett fra sin settklasse er å lage et sett; å sette i gang et kart fra kartklassen er å lage et kart. Objektet som ble opprettet får et navn som programmereren velger.
For å lage et sett, bør programmet begynne med:
#inkludere
#inkludere
bruker navneområde std; Legg merke til direktivet “#include ”, Som inkluderer settbiblioteket som har settklassen som sett datastrukturer vil bli instantiert fra.
For å lage et kart, bør programmet begynne med:
#inkludere
#inkludere