6, 10, 2, 8, 4 on komplekt; 2, 4, 6, 8, 10 on samade täisarvude kogum, mis on järjestatud kasvavas järjekorras. Matemaatikas on komplektil unikaalsed elemendid (erinevad elemendid) ja see tähendab, et ühtegi elementi ei esine rohkem kui üks kord. Lisaks on multiset komplekt, kus iga element võib esineda rohkem kui üks kord. 6, 6, 10, 2, 2, 8, 4, 4, 4 on multiset. 2, 2, 4, 4, 4, 6, 6, 8, 10 on sama multiset, kuid elemendid on järjestatud kasvavas järjekorras. See artikkel ei käsitle multiset. See tegeleb C ++ andmestruktuuriga, mida nimetatakse setiks.
Tarkvaras olev kaart on nagu massiiv, kuid see on massiiv, millel on ühe veeru asemel kaks veergu. Esimeses veerus on võtmed ja teises veerus on väärtused. Iga rida on üks paar, moodustades võtme / väärtuse paari. Võti on otseselt seotud selle väärtusega.
Kaardi näide on 'c', 30, 'b', 20, 'd', 30, 'e', 40, 'a', 10. Esimene siia sisestatud võti / väärtuspaar on 'c', 3, kus 'c' on võti ja 30 on väärtus. Seda kaarti pole klahvide järgi järjestatud. Selle kaardi võtmete järgi järjestamine annab 'a', 10, 'b', 20, 'c', 30, 'd', 30, 'e', 40. Pange tähele, et võib olla dubleeritud väärtusi, kuid mitte dubleeritud võtmeid. Tellitud kaart on kaart, mis on järjestatud klahvide järgi.
Multiset on komplekt, nagu multimap on kaart. See tähendab, et on olemas duplikaatvõtmetega kaarte. Multikaardi näide on 'a', 10, 'b', 20, 'b', 20, 'c', 30, 'c', 30, 'd ', 30, ' e ', 40. Ja nagu eelpool öeldud, ei käsitleta selles artiklis mitmekaarti, pigem käsitletakse C ++ andmestruktuuri nimega map.
C ++ keeles on andmestruktuur omadustega (andmeliikmed) ja meetoditega (liikmefunktsioonid) struktuur. Struktuuri andmed on loetelu; komplekt on loend; kaart on võtme / väärtuse paaride loend.
Selles artiklis käsitletakse C ++ komplektide ja kaartide põhitõdesid ning selle artikli paremaks mõistmiseks oleks pidanud lugejal olema põhiteadmised C++.
Artikli sisu:
- Klass ja selle objektid
- Komplekti või kaardi loomine
- Iteraatori põhitõed
- Element Juurdepääs komplektile ja kaardile
- Elementide järjestus komplektis või kaardil
- Muud tavaliselt kasutatavad liikme funktsioonid
- Järeldus
Klass ja selle objektid:
C ++ - s nimetatakse komplekti, kaarti ja muid sarnaseid struktuure konteineriteks. Klass on üldistatud üksus koos andmeliikmetega, mis on muutujad, ja liikme funktsioonidega, mis on omavahel seotud. Kui andmeliikmetele antakse väärtused, moodustub objekt. Kuid objekt moodustub protsessis, mida nimetatakse instantsiks. Kuna klass võib viia samade andmeliikme muutujate jaoks erinevate väärtusteni, saab seejärel samast klassist erinevaid objekte instantiseerida.
C ++ keeles on kasutuskõlbmatu komplekt nii klass kui ka kasutamiskõlbmatu kaart. Kui objekt tuvastatakse kasutuskõlbmatust komplektist või kasutamiskõlbmatult kaardilt, saab objekt tõeliseks andmestruktuuriks. Hulgi- ja kaardiandmete struktuuride korral on peamine andmeliige loend. Noh, komplekt ja kaart moodustavad konteinerite rühma, mida nimetatakse tellitud assotsiatiivseteks konteineriteks. Samuti on olemas järjestamata komplekt ja korrastamata kaart, kuid kahjuks neid selles artiklis ei käsitleta.
Komplekti või kaardi loomine:
Hulga instantsimine selle komplektist on hulga loomine; kaardi kiirendamine selle kaardiklassist on kaardi loomine. Nii loodud objektile antakse programmeerija valitud nimi.
Komplekti loomiseks peaks programm algama järgmisega:
# kaasata
# kaasata
nimeruumi kasutamine std; Pange tähele direktiivi „#include ”, Mis sisaldab komplekti teeki, millel on määratud klass, millest komplekteeritud andmestruktuurid kiirendatakse.
Kaardi loomiseks peaks programm algama järgmisega:
# kaasata
# kaasata