logo

Kø i C++ Standard Template Library (STL)

Køer er en type beholderadaptere som opererer i en først inn først ut (FIFO) type arrangement. Elementer settes inn bak (enden) og slettes forfra. Køer bruker et innkapslet objekt av deque eller liste (sekvensiell beholderklasse) som dens underliggende beholder, og gir et spesifikt sett med medlemsfunksjoner for å få tilgang til elementene.

Følgende er et eksempel for å demonstrere køen og dens ulike metoder.



CPP

hvordan kaste streng til int i java






// CPP code to illustrate Queue in> // Standard Template Library (STL)> #include> #include> using> namespace> std;> // Print the queue> void> showq(queue<>int>>gq)> {> >queue<>int>>g = gq;> >while> (!g.empty()) {> >cout <<>' '> << g.front();> >g.pop();> >}> >cout <<>' '>;> }> // Driver Code> int> main()> {> >queue<>int>>gquiz;> >gquiz.push(10);> >gquiz.push(20);> >gquiz.push(30);> >cout <<>'The queue gquiz is : '>;> >showq(gquiz);> >cout <<>' gquiz.size() : '> << gquiz.size();> >cout <<>' gquiz.front() : '> << gquiz.front();> >cout <<>' gquiz.back() : '> << gquiz.back();> >cout <<>' gquiz.pop() : '>;> >gquiz.pop();> >showq(gquiz);> >return> 0;> }>



>

>

Produksjon

The queue gquiz is : 10 20 30 gquiz.size() : 3 gquiz.front() : 10 gquiz.back() : 30 gquiz.pop() : 20 30>

Metoder for kø er:

sett inn vannmerke i word

Tidskompleksiteten og definisjonen av følgende funksjoner er som følger:

kø::tom() O(1)
kø::størrelse() O(1)
kø::sted() O(1)
kø::front() O(1)
kø::tilbake() O(1)
kø::push(g) O(1)
kø::pop() O(1)
Metode Definisjon
kø::tom() Returnerer om køen er tom. Den returnerer true hvis køen er tom ellers returnerer false.
kø::størrelse() Returnerer størrelsen på køen.
kø::swap() Bytt ut innholdet i to køer, men køene må være av samme datatype, selv om størrelsene kan variere.
kø::sted() Sett inn et nytt element i købeholderen, det nye elementet legges til på slutten av køen.
kø::front() Returnerer en referanse til det første elementet i køen.
kø::tilbake() Returnerer en referanse til det siste elementet i køen.
kø::push(g) Legger til elementet 'g' på slutten av køen.
kø::pop() Sletter det første elementet i køen.

C++-program for noen flere metoder

C++




webdriver
// CPP code to illustrate Queue operations in STL> // Divyansh Mishra -->divyanshmishra101010> #include> #include> using> namespace> std;> // Print the queue> void> print_queue(queue<>int>>q)> {> >queue<>int>>temp = q;> >while> (!temp.empty()) {> >cout << temp.front()<<>' '>;> >temp.pop();> >}> >cout <<>' '>;> }> // Driver Code> int> main()> {> >queue<>int>>q1;> >q1.push(1);> >q1.push(2);> >q1.push(3);> >cout <<>'The first queue is : '>;> >print_queue(q1);> > >queue<>int>>q2;> >q2.push(4);> >q2.push(5);> >q2.push(6);> >cout <<>'The second queue is : '>;> >print_queue(q2);> > > >q1.swap(q2);> > >cout <<>'After swapping, the first queue is : '>;> >print_queue(q1);> >cout <<>'After swapping the second queue is : '>;> >print_queue(q2);> > >cout

>

>

Produksjon

The first queue is : 1 2 3 The second queue is : 4 5 6 After swapping, the first queue is : 4 5 6 After swapping the second queue is : 1 2 3 0>

Tids- og romkompleksiteten til operasjonene i denne koden er som følger:

print_queue funksjon:

Tidskompleksitet: O(n), der n er antall elementer i køen.
Romkompleksitet: O(n), der n er antall elementer i køen.
q1.push(1), q1.push(2), q1.push(3), q2.push(4), q2.push(5), q2.push(6):

Tidskompleksitet: O(1) for hver push-operasjon.
Plasskompleksitet: O(n), der n er det totale antallet elementer i begge køene.
q1.swap(q2):

Tidskompleksitet: O(1) for hver bytteoperasjon.
Plasskompleksitet: O(1), siden denne operasjonen bare bytter de interne pekerne til de to køene.
q1.empty():

hvilken størrelse er skjermen min

Tidskompleksitet: O(1), da denne operasjonen ganske enkelt sjekker om køen er tom.
Plasskompleksitet: O(1), da det ikke brukes ekstra plass for denne operasjonen.
Samlet sett er tids- og romkompleksiteten til denne koden rimelig og effektiv for typiske brukstilfeller.

Nylige artikler om C++ Queue