set stl
Hitro se naučite SET v STL s preprostimi primeri.
Poglobljeno si bomo ogledali vsebnik STL - Kompleti, tukaj v tej vadnici. Kompleti so asociativni vsebniki z edinstvenimi elementi v določenem vrstnem redu.
Vrednost elementa v naboru je tudi ključ, ki se uporablja za dostop do njega. Vsi elementi v kompletu morajo biti unikatni. Ko vstavimo elemente v naboru, jih ne moremo več spreminjati. Lahko pa vstavimo ali izbrišemo elemente.
=> Poglejte tukaj za popolno serijo C ++ BREZPLAČNIH vadb.
Kaj se boste naučili:
SET V STL
Za izvedbo nabora moramo v naš program vključiti glavo.
qa vprašanja za intervju za sveže
#include Nabor lahko prijavimo na naslednji način:
set myset; Na primer,če želimo niz, nabor elementov s celoštevilskim tipom, lahko nabor razglasimo kot:
set myset; Operacije na snemanju
Vsebnik nastavitev podpira tudi podobne operacije, kot je zemljevid, o katerem smo že govorili. Sledi nekaj osnovnih operacij, ki jih podpira set.
- začeti : Vrne iterator v prvi element niza.
- konec : Vrne iterator elementu, ki sledi zadnjemu elementu niza.
- vstavi : Vstavi nov element v nabor.
Postopek vstavljanja kompleta ima tri različice:
-
-
- vstavi (element): To neposredno vstavi element v niz in prerazporedi niz.
- vstavite (položaj, namig): Tu določimo položaj za vstavljanje elementa.
- vstavi (iterator.begin (), iterator.end ()): V tej različici lahko obseg neposredno vstavimo v niz kot matriko ali drug niz.
-
- izbriši : Odstrani element iz niza.
- velikost : Vrne velikost nabora.
- max_size : Vrne največjo velikost, ki jo lahko vsebuje nabor.
- prazno : Vrne, ali je nabor prazen.
- jasno : Odstrani vse elemente iz niza.
- najti : Poišče element v nizu. Če je element najden, vrne iterator temu elementu v nizu. Če ga ne najdemo, vrne iterator na konec niza.
Spodaj je program, ki prikazuje uporabo nekaterih pomembnih funkcij 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: '< Izhod:
Velikost nabora: 4
Set nabora je: 120 130 140 160
Po vstavitvi 100 je nabor nabora: 100 120 130 140 160
Po vstavitvi arr arr je set myset: 100 110 120 130 140 150 160
Po odstranitvi elementov manj kot 130, myset: 130 140 150 160

Kot je prikazano v zgornjem izhodu, ustvarimo nabor s preprosto funkcijo vstavljanja.
Nato vstavimo element 100 v nabor z drugo različico funkcije vstavljanja, tako da posredujemo referenco iteratorja in vrednost elementa 100. Vidimo, da ko je vstavljanje končano, je nabor preurejen in vrstni red elementov je ohranjen.
Nato vstavimo polje {110,150,150} s funkcijo vstavljanja. Če vidite vstavljeni izhod po vstavitvi polja, vidimo, da je v nabor vnesena samo ena vrednost 150. To je zato, ker so vsi elementi v naboru unikatni.
Prikažemo tudi velikost kompleta. Nato s funkcijo iskanja najdemo elemente, ki so manjši od 130, nato pa pokličemo funkcijo brisanja, da te elemente odstranimo. Nato prikažemo nastali niz.
To je vse o nastavljenem vsebniku. Nato bomo razpravljali o multisetu, ki je podaljšek nastavljenega vsebnika.
Multiset
Multiset je asociativni vsebnik, podoben nastavljenemu v vseh pogledih, razen ene razlike, tj. Več elementov ima lahko enako vrednost.
Izjava za multiset je naslednja:
multiset mset; Množico celoštevilskih elementov lahko razglasimo kot:
večnamenski mset;
Različne operacije, ki jih podpira multiset, so podobne tistim, ki jih podpira set.
Zdaj bomo neposredno razpravljali o primeru z več nabori, ki prikazuje delovanje, ki ga uporablja.
#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: '< Izhod:
Velikost nabora: 4
Po vstavitvi štirih elementov je multiset myset: 10 11 13
13.
vprašanja in odgovori za avtomatizirano testiranje
Po vstavitvi 15 je večnaborni nabor: 10 11 13 13 15
Po odstranitvi elementov manj kot 15, myset: 15
Posnetek zaslona rezultata je spodaj:

Kot je prikazano v zgornjem izhodu, sprva v večnabor vnesemo štiri elemente, od katerih sta dva enaka. Toda za razliko od nabora so ti elementi uspešno vstavljeni v večnabor. Nato vstavimo še en element 15 z zagotavljanjem položaja skozi iterator, ki je uspešno vstavljen.
Nato najdemo elemente, manjše od 15, v funkciji multiset in klicanje brisanja teh elementov. Na koncu prikažemo multiset.
Neurejeni niz
Doslej smo v tej vadnici razpravljali o množici in množici.
Medtem ko je niz urejeno zaporedje unikatnih ključev, imamo še en asociativni vsebnik, ki se imenuje »neurejeni niz«, ki je nabor ključev ali elementov, ki so shranjeni v poljubnem vrstnem redu. To pomeni, da so elementi v neurejenem naboru 'neurejeni'.
Podobno kot pri neurejenem zemljevidu se tudi neurejeni niz izvaja s pomočjo zgoščevalne tabele, kjer so ključi zgoščeni v indekse tabele razprševanja. Zaradi uporabe zgoščevalne tabele ni mogoče vzdrževati vrstnega reda elementov v nasprotju z nizom, ki uporablja uravnoteženo drevesno strukturo.
Glava za izvajanje neurejenega nabora je.
#include Neurejeni zemljevid tipa celo število razglasimo na naslednji način:
Unordered_set uset; Operacije, ki jih podpira unordered_set, so podobne tistim, ki jih podpira unordered_map, o čemer govorijo naše vadnice na zemljevidu.
Spodaj je primer, ki prikazuje različne operacije na 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: '< Izhod:
Velikost uporabe: 5
Elementi v neurejenem naboru so: 99 39 6 5 26 4 3 13 2
Najden ključ = 13
umap bucket_count: 11
velikost_vesla: 2
Posnetek zaslona zgornjega izhoda je podan spodaj.

Kot je prikazano v zgornjem izhodu, najprej v neurejeni nabor vstavimo 5 elementov in nato vstavimo še 4 elemente, ki dokazujejo uporabo različic funkcije vstavljanja. Nato prikažemo vsebino neurejenega nabora.
Nato uporabimo funkcijo iskanja, da ugotovimo, ali je ključ = 13 prisoten v neurejenem naboru ali ne.
Po tem pokažemo še dve funkciji 'bucket_count' in 'bucket_size'. Te funkcije so povezane z notranjo izvedbo neurejenega zemljevida.
Ta vsebnik podpira tudi druge funkcije in funkcije iteratorja, kot so max_size, clear, brisanje, prazno itd., Ki je podobna drugim vsebnikom STL.
Zaključek
S tem smo prišli do konca naše vadnice o SET v STL.
Upamo, da vam bodo teme, zajete v teh vadnicah STL, pomagale razumeti STL in njegove različne vsebnike.
odprtokodna orodja za upravljanje življenjskega cikla
=> Tukaj preberite priljubljeno serijo usposabljanj za C ++.
Priporočeno branje


