set stl
Lær hurtigt SET i STL med enkle eksempler.
Vi vil se nærmere på STL-containeren - Sæt, her i denne vejledning. Sæt er associerende containere med unikke elementer i en bestemt rækkefølge.
Værdien af et element i sættet er også den nøgle, der bruges til at få adgang til det. Alle elementer i sættet skal være unikke. Vi kan ikke ændre elementerne i sættet, når de først er indsat. Vi kan dog indsætte eller slette elementerne.
=> Tjek her for komplet C ++ GRATIS træningsserie.
Hvad du vil lære:
SET I STL
For at implementere sæt skal vi medtage overskriften i vores program.
hvordan man får sikkerhedsnøgle til wifi
#include
Vi kan erklære et sæt som følger:
set myset;
For eksempel,hvis vi ønsker et sæt, myset af et element med heltalstype, så kan vi erklære sættet som:
set myset;
Funktioner på sæt
Den indstillede container understøtter også lignende operationer som et kort, som vi allerede har diskuteret. Følgende er nogle af de grundlæggende operationer, der understøttes af sæt.
- begynde : Returnerer iterator til det første element i sættet.
- ende : Vender iterator tilbage til det element, der følger det sidste element i sættet.
- indsæt : Indsætter et nyt element i sættet.
Indsætningsoperation for sættet har tre varianter:
-
-
- indsæt (element): Dette indsætter elementet direkte i sættet og omarrangerer sættet.
- indsæt (position, tip): Her specificerer vi placeringen for at indsætte elementet.
- indsæt (iterator.begin (), iterator.end ()): I denne variation kan vi direkte indsætte området i sættet som et array eller et andet sæt.
-
- slette : Fjerner et element fra sættet.
- størrelse : Returnerer størrelsen på sættet.
- maks. størrelse : Returnerer den maksimale størrelse, som sættet kan rumme.
- tom : Returnerer om sættet er tomt.
- klar : Fjerner alle elementerne fra sættet.
- finde : Finder et element i sættet. Hvis der findes et element, returnerer det iteratoren til det element i sættet. Hvis den ikke findes, returnerer den en iterator til slutningen af sættet.
Nedenfor er et program, der demonstrerer brugen af nogle vigtige funktioner i SET.
#include #include #include using namespace std; int main() { set myset; myset.insert(140); myset.insert(130); myset.insert(160); myset.insert(120); cout<<'
Size of myset: '< Produktion:
Størrelse på myset: 4
Sættet myset er: 120 130 140 160
Efter indsættelse af 100 er det indstillede myset: 100 120 130 140 160
Efter indsættelse af array arr er det indstillede myset: 100110120130140150160
Efter fjernelse af elementer under 130, myset: 130 140 150 160

Som vist i outputen ovenfor opretter vi et sæt ved hjælp af en simpel indsætningsfunktion.
Derefter indsætter vi element 100 i sættet ved hjælp af en anden variant af indsætningsfunktionen ved at videregive iteratorreference og elementværdi 100. Vi ser, at når indsatsen er færdig, omarrangeres sættet, og rækkefølgen af elementer opretholdes.
Derefter indsætter vi en matrix {110,150,150} ved hjælp af indsætningsfunktionen. Hvis du ser det indstillede output vises efter indsættelse af et array, ser vi, at kun en værdi på 150 er indtastet i sættet. Dette skyldes, at alle elementer i sættet er unikke.
gratis junk cleaner til Windows 10
Vi viser også størrelsen på sættet. Dernæst ved hjælp af find-funktionen finder vi de elementer, der er mindre end 130, og kalder derefter sletningsfunktionen for at fjerne disse elementer. Derefter viser vi det resulterende sæt.
Dette handler om den indstillede container. Dernæst vil vi diskutere multiset, hvilken udvidelse af den indstillede container.
Multisæt
Et multisæt er en associerende beholder, der ligner sæt i alle aspekter undtagen en forskel, dvs. flere elementer kan have den samme værdi.
Erklæringen til multiset er som følger:
multiset mset;
Et multisæt af heltalselementer kan erklæres som:
multiset mset;
Forskellige operationer understøttet af multiset svarer til dem, der understøttes af sæt.
Nu vil vi direkte diskutere et eksempel på flere sæt, der demonstrerer den operation, den bruger.
#include #include #include using namespace std; int main() { multiset myset; myset.insert(11); myset.insert(13); myset.insert(13); myset.insert(10); cout<<'
Size of myset: '< Produktion:
Størrelse på myset: 4
Efter indsættelse af fire elementer er multiset myset: 10 11 13
13
Efter indsættelse af 15 er multiset myset: 10 11 13 13 15
Efter fjernelse af elementer under 15, myset: 15
Skærmbillede af output er angivet nedenfor:

Som vist i ovenstående output indtaster vi oprindeligt fire elementer i multisættet, hvoraf to er ens. Men i modsætning til et sæt indsættes disse elementer med succes i multisættet. Derefter indsætter vi et andet element 15 ved at give position gennem en iterator, som med succes er indsat.
Dernæst finder vi elementer mindre end 15 i multisæt- og opkaldssletningsfunktionen på disse elementer. Endelig viser vi multisættet.
Ubestilt sæt
Indtil videre har vi diskuteret sæt og multisæt i denne vejledning.
Mens sættet er en ordnet rækkefølge af unikke nøgler, har vi en anden associerende beholder, der kaldes 'uordnet sæt', som er et sæt nøgler eller elementer, der er gemt i en hvilken som helst rækkefølge. Dette betyder, at elementerne i det ikke-ordnede sæt er 'ikke-ordnet'.
På samme måde som et ikke-ordnet kort implementeres det ikke-ordnede sæt også ved hjælp af en hash-tabel, hvor tasterne er hashet til indekser for hash-tabellen. På grund af brugen af en hash-tabel er det ikke muligt at opretholde rækkefølgen af elementer i modsætning til det sæt, der bruger en afbalanceret træstruktur.
Overskriften til implementering af ikke-ordnet sæt er.
#include
Vi erklærer et ikke-ordnet kort af typen heltal som følger:
Unordered_set uset;
Operationer understøttet af unordered_set svarer til dem, der understøttes af unordered_map, som diskuteres i vores tutorials på kort.
Nedenfor er et eksempel, der demonstrerer de forskellige operationer på unordered_set.
#include #include using namespace std; int main() { unordered_set uset; unordered_set :: iterator it; for(int i=0;i<5;i++){ uset.insert(i+2); } cout<<'
Size of uset: '< Produktion:
Uset størrelse: 5
Elementer i ikke-ordnet sæt er: 99 39 6 5 26 4 3 13 2
Fundet nøgle = 13
umap bucket_count: 11
bucket_size: 2
Skærmbillede af ovenstående output er angivet nedenfor.

Som vist i ovenstående output indsætter vi først 5 elementer i det ikke-ordnede sæt og indsætter derefter yderligere 4 elementer, der demonstrerer brugen af insertfunktionsvariationer. Derefter viser vi indholdet af det ikke-ordnede sæt.
Dernæst bruger vi find-funktionen til at finde ud af, om nøglen = 13 er til stede i det ikke-ordnede sæt eller ej.
Herefter demonstrerer vi to yderligere funktioner 'bucket_count' og 'bucket_size'. Disse funktioner er relateret til den interne implementering af det uordnede kort.
Denne container understøtter også de andre iteratorfunktioner og funktioner som max_size, clear, slet, tom osv., Der ligner andre STL-containere.
Konklusion
Med dette er vi kommet til slutningen af vores tutorial om SET i STL.
Vi håber, at emnerne, der er omfattet af denne STL-tutorial, hjælper dig med at få en forståelse af STL og dens forskellige containere.
hvad er en dobbelt variabel i java
=> Læs gennem den populære C ++ træningsserie her.
Anbefalet læsning
- Prioritetskø i STL
- Lister i STL
- KORT I STL
- Stakke og køer i STL
- Iteratorer i STL
- Arrays i STL
- Strings, Pair & Tuples In STL
- Algoritmer i STL