C ++ multisetfunksjoner

C ++ multisetfunksjoner
Multiset -komponenten i C ++ standardbiblioteket brukes til lagring og tilgang fra et sett der verdiene til de involverte komponentene brukes som nøkkelverdiene for å dynamisk organisere dataene selv om de ikke trenger å være unike. Det er ikke lett å manuelt endre nøkkelverdien til et element i en multisett. Snarere bør komponentene som har nye verdier legges til, og de gamle verdiene bør elimineres fra komponentene. Multisettene er containere som er identiske med å angi containere. De har verdiene i form av nøkler i en bestemt sekvens, akkurat som et sett. Elementene i en multisett er spesifisert som nøkler akkurat som settene.

Det primære skillet mellom et sett og et multisett er at et sett har separate nøkler, men en multisett gir mulighet for nøkler med en lignende verdi. De binære søketrærne implementeres ved hjelp av multiset -nøkler. Når varene er inkludert i multiset, kan ikke disse elementene endres; De kunne bare legges til eller fjernes. Overskriftsfilen for #include inneholder et multisett. Iteratorene kan brukes til å hente multisetens komponenter.

Metoder brukt på multisett

Her er følgende C ++ multiset -metoder:

  • Begynn () Funksjon: Det gir en iterator til den første varen i settet.
  • Slutt () Funksjon: Den gir en iterator til varen etter den endelige varen i settet.
  • Størrelse () Funksjon: Den gir multisets informasjonsinformasjon.
  • Sett inn () -funksjon: Den legger til et element til multiset.
  • Sletting () -funksjon: Den fjerner multisetens komponenter.
  • Finn () Funksjon: Hvis elementet er lokalisert, gir denne funksjonen en iterator som refererer til den; Ellers gir den en iterator som refererer til multisetens slutt.
  • Clear () Funksjon: Den fjerner alle multisettens varer.
  • Tom () funksjon: den informerer oss om multisets status som å være tom eller ikke.

La oss diskutere bruken av disse funksjonene.

Eksempel 1:

C ++ STLs innebygde BEGIN () -metode er spesifisert i overskriftsfilen. Iteratoren som er returnert med denne metoden, peker på den første varen i multiset -beholderen som den er relatert til. BEGIN () -funksjonen refererer til komponenten som er beholderens første element basert på sorteringstilstanden fordi multisetbeholderne beholder gjenstandene i stigende rekkefølge.

#inkludere
ved hjelp av navneområdet STD;
int main ()
int a [] = 22, 34, 51, 83, 68, 50, 96;
multisetcheck (a, a + 7);
cout<<"The elements of the list are: ";
for (auto x = sjekk.begynne(); x != sjekk.slutt(); x ++)
cout<< *x << " ";
cout<<"\nFirst element of the list: "<<*(check.begin());
retur 0;

Først av alt introduserer vi overskriftsfilen . Denne overskriftsfilen er tilknyttet bruken av multiset -funksjonene i C ++ -programmer. Deretter bruker vi standard navneområdet som STD. Nå påkaller vi Main () -metoden. Her initialiserer vi en matrise. Denne matrisen inneholder 7 forskjellige verdier. Disse varene i matrisen lagres i en variabel “A”. Deretter bruker vi multiset -funksjonen. Her passerer vi matrisen som parameter for funksjonen. Nå brukes "cout" -uttalelsen for å vise alle elementene i den nødvendige listen. Vi bruker "for" -sløyfen. Denne sløyfen itererer hver verdi av listen til betingelsen er oppfylt.

Vi bruker BEGIN () og END () -metoder innenfor "for" -sløyfen. BEGIN () -funksjonen starter listen som skal skrives ut. Mens slutt () -funksjonen avslutter listen. Deretter øker vi verdien av løkken. Vi bruker "cout" -uttalelsen igjen for å skrive ut den første verdien av den spesifiserte listen. Vi bruker start () -metoden for å oppnå den første verdien av listen,. Til slutt oppgir vi kommandoen “Return 0”.

Eksempel 2:

Slutt () -funksjonen er en innebygd del av C ++ STL og finnes i overskriftsfilen. Denne funksjonen gir tilbake en iterator som peker på multisetbeholderen før sluttstedet. Varen som kommer etter det siste elementet i en multisetbeholder er kjent som den tidligere komponenten. Med andre ord, det peker ikke på noen bestemt multiset containerkomponent. Denne metoden tar ingen argumenter.

#inkludere
ved hjelp av navneområdet STD;
int main ()
int v [] = 24, 64, 19, 35, 82, 59, 46;
multisecheck (v, v + 7);
cout<<"The items of the list are: ";
for (auto j = sjekk.begynne(); j != sjekk.slutt(); J ++)
cout<< *j << " ";
retur 0;

Først, overskriftsfilen “BITS/STDC++.H ”legges til. Dette biblioteket er assosiert med hvordan multisetfunksjonene brukes i C ++ -programmene. Standard navneområdet er nå inkludert og betegnet som STD. Nå som vi påkaller Main () -metoden, utfører vi skriptene i funksjonens kropp. Her initialiseres en matrise. Det er 7 forskjellige elementer i denne matrisen. Disse arrays varene holdes i variabelen “V.”Multiset -funksjonen kalles da. Det faktiske antallet elementer i den spesifiserte matrisen er også oppgitt.

Nå vises hele den nødvendige listen ved hjelp av "cout" -uttalelsen. Vi bruker "for" -sløyfen. Denne sløyfen gjentar hver verdi på listen til kravet er oppfylt. Vi kaller start () og slutt () metoder i "for" -sløyfen. Listen som skal vises, initieres av BEGIN () -metoden, og den er fullført ved hjelp av slutt () -funksjonen. Verdien av “J” økes i det siste segmentet av “for” -sløyfen. Vi bruker "cout" -uttalelsen en gang til. "Return 0" -uttalelsen blir utført på slutten.

Eksempel 3:

Overskriftsfilen “BITS/STDC++.H ”inneholder den innebygde count () -metoden til C ++ standardmalbiblioteket. Ved hjelp av denne funksjonen bestemmer vi hvor mange elementer som har en viss nøkkel. Denne funksjonen kan brukes for å telle antall ganger. Det samme elementet brukes i et multisett fordi en multisett kan omfatte mange verdier for et bestemt medlem. I hele beholderen ser Count () etter nøkkelen, og så returnerer den resultatene. Metoden returnerer 0 hvis det ikke er noen av elementene som vi søker etter i settet. Den relaterte multisetbeholderen må undersøkes for metodens en verdi som et argument, som den tar.

#inkludere
ved hjelp av navneområdet STD;
int main ()
int u [] = 78, 23, 56, 78, 91, 16, 78, 62;
multisetcheck (u, u + 8);
cout<<"The values of the list are: ";
for (auto l = sjekk.begynne(); l != sjekk.slutt(); L ++)
cout<< *l << " ";
cout<< "\n78 is present: "<cout<< "\n56 is present: "<retur 0;

I starten inkluderer vi biblioteket. I neste trinn benytter vi oss av standard navneområdet. Main () -metoden kalles nå. Her initialiseres en matrise. Åtte forskjellige heltall er spesifisert i denne matrisen. Disse matrisemedlemmene oppbevares i en variabel kalt “u.”Deretter bruker vi multiset -metoden. Her gir vi matrisen som en parameter til multiset -funksjonen. Vi indikerer også det samlede elementantallet for den matrisen. Verdiene på den nødvendige listen vises deretter ved hjelp av "cout" -uttalelsen. "For" -sløyfen brukes her. Inntil tilstanden er oppfylt, itererer denne sløyfen gjennom hvert element i matrisen.

Vi bruker BEGIN () og END () -funksjonene med "for" -sløyfen. Listen starter utskrift når start () -metoden brukes. Men listen blir avsluttet etter slutten () -metoden. Verdien av "jeg" økes inne i "for" -sløyfen. Nok en gang blir "cout" -kommandoen brukt for å skrive ut sannsynligheten som nummer 78 vises i den definerte listen. "Count ()" -metoden kalles for å finne sannsynligheten. Vi vil også vite hvor ofte verdien “56” finnes i listen. Så vi bruker telling () -funksjonen enda en gang. For å vise svaret bruker vi "cout" -erklæringen. "Return 0" -uttalelsen skrives ved avslutning av koden.

Eksempel 4:

Verdien gitt som punktet for en parameter fjernes med multiset -metoden, slette (). Utfør følgende program for å se hvordan Erase () -metoden utfører:

#inkludere
ved hjelp av navneområdet STD;
int main ()

MultisetSet;
multiset :: iterator itr;
for (int k = 1; k < 20; k++)
sett.sett inn (k);

cout<< "Original set: ";
for (itr = sett.begynne();
itr != sett.slutt();
++itr)
cout
<< " << *itr;
cout<< '\n';
itr = sett.begynne();
ITR ++;
sett.slette (ITR);
cout<< "Updated set: ";
for (itr = sett.begynne();
itr != sett.slutt();
++itr)
cout<< " << *itr;
cout<< '\n';
retur 0;

Her innlemmer vi biblioteket . Denne overskriftsfilen omhandler bruken av multiset -funksjonene. Deretter bruker vi standard navneområde. Sammen med dette kaller vi Main () -funksjonen. Vi bruker multiset -funksjonen to ganger. For den første multiset -metoden sendes settet som et attributt. Og for den andre multiset -metoden er iteratoren “ITR” gitt som argumentasjonen.

Videre bruker vi “for” -sløyfen. Vi initialiserer en løkkevariabel først. Deretter itererer sløyfen over verdien under 20. Neste, gjør et økning i løkken. Vi bruker "cout" -uttalelsen for å vise selve elementene. La oss bruke "for" -løkken igjen. Her kaller vi BEGIN () -metoden. Sammen med dette påkaller vi slutt () -funksjonen. Vi bruker disse funksjonene på verdien av iteratoren “ITR”. Deretter økes iteratorens verdi med 1. Vi ønsker å fjerne den andre verdien fra det nødvendige settet, så vi bruker slettemetoden ().

Etter dette blir "cout" -uttalelsen brukt for å skrive ut elementene i settet etter fjerning av den andre verdien. For å vise elementene i settet i en sekvens, bruker vi “For” -sløyfen igjen. Innenfor "for" -sløyfen brukes begynner () og ende () funksjoner for å starte og avslutte settet. Til slutt bruker vi “Return 0” -kommandoen.

Eksempel 5:

I denne illustrasjonen setter vi inn verdiene i settet ved hjelp av Insert () multiset -funksjonen. Deretter sletter vi alle elementene fra settet ved hjelp av multiset clear () -metoden.

#inkludere
#inkludere
ved hjelp av navneområdet STD;
int main ()
multiset a1;
Multiset A2;
for (int j = 0; j < 15; j++)
A1.sett inn (j + 1);

for (int j = 0; j < 15; j++)
A1.sett inn (j + 1);

for (int j = 0; j < 15; j++)
A2.sett inn ((j + 1) * 10);

for (int j = 0; j < 15; j++)
A2.sett inn ((j + 1) * 10);

Sett :: Iteratoriter;
for (iter = a1.begynne(); iter != A1.slutt(); iter ++)
cout<< * iter<< " ";
cout<< '\n';
for (iter = a2.begynne(); iter != A2.slutt(); iter ++)
cout<< * iter<< " ";
cout<< '\n';

Vi inkluderer to overskriftsfiler og ved begynnelsen av koden. Sammen med dette bruker vi et standard navneområde. Deretter kaller vi Main () -funksjonen. La oss begynne å kode i kroppen til hovedfunksjonen (). Først kaller vi multiset -funksjonen to ganger. Vi initialiserer to forskjellige variabler kalt “A1” og “A2”. Deretter bruker vi “for” -sløyfen.

Etter initialisering. Dessuten påkaller vi settfunksjonen. Her erklærer vi en variabel "iter" for iteratoren. Vi øker verdien av “iterer”. "For" -sløyfen brukes for både variabler “A1” og “A2”.

A1.slette (6);
A2.Slett (A2.Begynn (), A2.finn (12));
cout<< "After removing the element from the required set, now the size will be: " << a1.size() << '\n';
int v = 9;
hvis (a1.finn (v) != A1.slutt())
cout<< "The defined set has: " << v << " values" <ellers
cout<< "The defined set does not have: " << v <cout<< "The new values of the set: ";
for (iter = a1.begynne(); iter != A1.slutt(); iter ++)
cout<< * iter<< " ";
cout<< '\n';
A1.klar();
hvis (a1.tom () == true)
cout<< "The set has no element";

retur 0;

Videre bruker vi slette () -metoden. Deretter bruker vi Find () -metoden for å få “12” -elementet fra settet. Vi bruker "cout" -uttalelsen for å vise settet etter å ha fjernet “6” -elementet. Deretter initialiserer vi en variabel “V”. Vi kaller Find () og End () -funksjonene innenfor "IF" -tilstanden som er assosiert med det første settet. Vi bruker "hvis" -tilstanden på elementet som er gitt til Find () -funksjonen. Hvis denne tilstanden er oppfylt, skriver “cout” ut elementene i settet. Ellers skriver "cout" -uttalelsen ut meldingen som viser at den nødvendige verdien ikke er til stede i settet.

Nok en gang bruker vi “For” -løkken, Begin () og End () Funksjoner. Til slutt bruker vi Clear () -metoden og "IF" -tilstanden. Vi definerer tilstanden i kroppen av "hvis" tilstand. Hvis settet er tomt, viser "cout" -uttalelsen teksten "Settet har ingen element". Etter alt dette er “Return0” -kommandoen lagt inn.

Konklusjon

For det første snakket vi om hva en C ++ multisett er. Deretter observerte vi flere C ++ -funksjoner brukt på multisett. I denne artikkelen kjører vi forskjellige koder som inneholder en rekke multiset -metoder. I den første illustrasjonen brukte vi BEGIN () -funksjonen og demonstrerte dens funksjonalitet. En iterator som refererer til det aller første medlemmet av multiset som er koblet til denne metoden, er funksjonens avkastningsverdi. Det andre eksemplet viste hvordan du bruker slutt () multiset -funksjonen. Utgangen til denne metoden er en iterator som peker forbi multisets siste komponent. Count () -metoden brukes i neste tilfelle for å undersøke hva som skjer i koden. Denne funksjonen utgjør alle heltallene som er tilgjengelige og deler samme nøkkel. Deretter kjører vi programmet ved hjelp av Erase () -funksjonen. Elementet fjernes fra settet ved hjelp av denne tilnærmingen. For å legge varen til settet, benyttet vi til slutt Insert () -teknikken.