6, 10, 2, 8, 4 är en uppsättning; 2, 4, 6, 8, 10 är en uppsättning av samma heltal, ordnade i stigande ordning. I matematik har en uppsättning unika element (distinkta element), det vill säga inget element förekommer mer än en gång. Dessutom är en multiset en uppsättning där varje element kan förekomma mer än en gång. 6, 6, 10, 2, 2, 8, 4, 4, 4 är en multiset. 2, 2, 4, 4, 4, 6, 6, 8, 10 är samma multiset, men med elementen ordnade i stigande ordning. Denna artikel handlar inte om multiset. Den behandlar C ++ datastrukturen kallad, set.
En karta i programvara är som en array, men det är en array med två kolumner istället för en. Den första kolumnen har tangenterna och den andra kolumnen har värdena. Varje rad är ett par, vilket gör ett nyckel / värdepar. En nyckel är direkt relaterad till dess värde.
Ett exempel på en karta är 'c', 30, 'b', 20, 'd', 30, 'e', 40, 'a', 10. Det första nyckel / värdeparet som infogas här är 'c', 3, där 'c' är nyckeln och 30 är värdet. Denna karta ordnas inte med nycklar. Att beställa den här kartan med tangenter ger 'a', 10, 'b', 20, 'c', 30, 'd', 30, 'e', 40. Observera att det kan finnas dubblerade värden, men inte duplicerade nycklar. En beställd karta är en karta som ordnas efter nycklar.
En multiset är en uppsättning, som en multimap är en karta. Det betyder att det finns kartor med dubbla nycklar. Ett exempel på en multikarta är 'a', 10, 'b', 20, 'b', 20, 'c', 30, 'c', 30, 'd ', 30, ' e ', 40. Och som nämnts ovan handlar den här artikeln inte om multimap, utan den handlar om C ++ datastrukturen som kallas map.
I C ++ är en datastruktur en struktur med egenskaper (data medlemmar) och metoder (medlemsfunktioner). Uppgifterna för strukturen är en lista; en uppsättning är en lista; en karta är en lista med nyckel / värdepar.
Denna artikel diskuterar grunderna för uppsättningar och kartor i C ++, och för att bättre förstå den här artikeln borde läsaren ha haft en grundläggande kunskap om C++.
Artikelinnehåll:
- Klass och dess objekt
- Skapa en uppsättning eller en karta
- Grunderna om Iterator
- Elementåtkomst för uppsättning och karta
- Elementordning i en uppsättning eller karta
- Andra vanliga medlemsfunktioner
- Slutsats
Klass och dess föremål:
I C ++ kallas uppsättningen, kartan och andra liknande strukturer containrar. En klass är en generaliserad enhet med datamedlemmar, vilka är variabler och medlemsfunktioner som är relaterade. När datamedlemmar ges värden bildas ett objekt. Emellertid bildas ett objekt i en process som kallas instantiering. Eftersom en klass kan leda till olika värden för samma datamedelsvariabler, kan olika objekt sedan instansieras från samma klass.
I C ++ är en oanvändbar uppsättning en klass såväl som en oanvändbar karta. När ett objekt instansieras från den oanvändbara uppsättningen eller den oanvändbara kartan blir objektet den verkliga datastrukturen. Med uppsättnings- och kartdatastrukturerna är huvuddatamedlemmen en lista. Tja, uppsättningen och kartan bildar en grupp containrar som kallas, beställda associativa containrar. Oordnad uppsättning och den oordnade kartan finns också, men de behandlas tyvärr inte i den här artikeln.
Skapa en uppsättning eller en karta:
Att installera en uppsättning från sin uppsättningsklass skapar en uppsättning; att skapa en karta från sin kartklass skapar en karta. Objektet som skapats får ett namn som programmeraren väljer.
För att skapa en uppsättning bör programmet börja med:
#omfatta
#omfatta
använder namnrymd std; Observera direktivet ”#include ”, Som inkluderar det uppsatta biblioteket som har den uppsättningsklass från vilken uppsatta datastrukturer kommer att instansieras.
För att skapa en karta bör programmet börja med:
#omfatta
#omfatta