6, 10, 2, 8, 4 is een verzameling; 2, 4, 6, 8, 10 is een verzameling van dezelfde gehele getallen, gerangschikt in oplopende volgorde. In de wiskunde heeft een verzameling unieke elementen (verschillende elementen), en dat wil zeggen dat geen enkel element meer dan één keer voorkomt. Verder is een multiset een verzameling, waarbij elk element meer dan één keer kan voorkomen. 6, 6, 10, 2, 2, 8, 4, 4, 4 is een multiset. 2, 2, 4, 4, 4, 6, 6, 8, 10 is dezelfde multiset, maar met de elementen in oplopende volgorde. Dit artikel gaat niet over multiset. Het behandelt de C++ datastructuur genaamd set.
Een kaart in software is als een array, maar het is een array met twee kolommen in plaats van één. De eerste kolom heeft de sleutels en de tweede kolom heeft de waarden. Elke rij is één paar, waardoor een sleutel/waarde-paar ontstaat. Een sleutel is direct gerelateerd aan zijn waarde.
Een voorbeeld van een kaart is 'c',30, 'b',20, 'd',30, 'e',40, 'a',10. Het eerste sleutel/waarde-paar dat hier wordt ingevoegd, is 'c',3, waarbij 'c' de sleutel is en 30 de waarde. Deze kaart is niet geordend op sleutels. Het bestellen van deze kaart met toetsen levert 'a',10, 'b',20, 'c',30, 'd',30, 'e',40. Merk op dat er dubbele waarden kunnen zijn, maar geen dubbele sleutels. Een geordende kaart is een kaart geordend op toetsen.
Een multiset is voor een set, zoals een multimap is voor een kaart. Dit betekent dat er kaarten zijn met dubbele sleutels. Een voorbeeld van een multimap is 'a',10, 'b',20, 'b',20, 'c',30, 'c',30, 'd ',30, 'e',40. En zoals hierboven vermeld, gaat dit artikel niet over multimap, maar over de C++-gegevensstructuur genaamd map.
In C++ is een gegevensstructuur een structuur met eigenschappen (gegevensleden) en methoden (lidfuncties). De gegevens van de structuur zijn een lijst; een set is een lijst; een kaart is een lijst van sleutel/waarde-paren.
Dit artikel bespreekt de basisprincipes van sets en kaarten in C++, en om dit artikel beter te begrijpen, zou de lezer een basiskennis van C moeten hebben gehad++.
Artikel Inhoud:
- Klasse en zijn objecten
- Een set of een kaart maken
- Basisprincipes van iterator
- Elementtoegang voor set en kaart
- Volgorde van elementen in een set of kaart
- Andere veelgebruikte lidfuncties
- Conclusie
Klasse en zijn objecten:
In C++ worden de set, de kaart en andere soortgelijke structuren containers genoemd. Een klasse is een gegeneraliseerde eenheid met gegevensleden, die variabelen zijn, en lidfuncties die gerelateerd zijn. Wanneer gegevensleden waarden krijgen, wordt een object gevormd. Een object wordt echter gevormd in een proces dat instantiatie wordt genoemd. Omdat een klasse kan leiden tot verschillende waarden voor dezelfde gegevenslidvariabelen, kunnen vervolgens verschillende objecten worden geïnstantieerd uit dezelfde klasse.
In C++ is een onbruikbare set een klasse, evenals een onbruikbare kaart. Wanneer een object wordt geïnstantieerd vanuit de onbruikbare set of de onbruikbare kaart, wordt het object de echte gegevensstructuur. Met de set- en kaartgegevensstructuren is het belangrijkste gegevenslid een lijst. Welnu, de set en de kaart vormen een groep containers genaamd, bestelde associatieve containers. Ongeordende set en de ongeordende kaart bestaan ook, maar die komen helaas niet aan bod in dit artikel.
Een set of een kaart maken:
Het instantiëren van een set uit de set-klasse is het creëren van een set; het instantiëren van een kaart vanuit de kaartklasse is het maken van een kaart. Het zo gemaakte object krijgt een naam naar keuze van de programmeur.
Om een set te maken, moet het programma beginnen met:
#include
#include
namespace std; gebruiken; Let op de richtlijn “#include ”, die de set-bibliotheek bevat die de set-klasse heeft waaruit set-gegevensstructuren zullen worden geïnstantieerd.
Om een kaart te maken, moet het programma beginnen met:
#include
#include