Køer er en type containeradaptere, der fungerer i en først ind først ud (FIFO) type arrangement. Elementer indsættes på bagsiden (enden) og slettes forfra. Køer bruger et indkapslet objekt af deque eller liste (sekventiel containerklasse) som dens underliggende container, der giver et specifikt sæt medlemsfunktioner for at få adgang til dens elementer.
Følgende er et eksempel for at demonstrere køen og dens forskellige metoder.
CPP
hvordan man kaster 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;> }> |
>
>Produktion
The queue gquiz is : 10 20 30 gquiz.size() : 3 gquiz.front() : 10 gquiz.back() : 30 gquiz.pop() : 20 30>
Metoder til kø er:
c++ konverter int til streng
Tidskompleksiteten og definitionen af følgende funktioner er som følger:
| kø::tom() | O(1) |
| kø::størrelse() | O(1) |
| kø::place() | O(1) |
| kø::front() | O(1) |
| kø::tilbage() | O(1) |
| kø::push(g) | O(1) |
| kø::pop() | O(1) |
| Metode | Definition |
|---|---|
| kø::tom() | Returnerer om køen er tom. Den returnerer sand, hvis køen er tom, ellers returnerer den falsk. |
| kø::størrelse() | Returnerer størrelsen på køen. |
| kø::swap() | Udskift indholdet af to køer, men køerne skal være af samme datatype, selvom størrelserne kan variere. |
| kø::place() | Indsæt et nyt element i købeholderen, det nye element tilføjes til slutningen af køen. |
| kø::front() | Returnerer en reference til det første element i køen. |
| kø::tilbage() | Returnerer en reference til det sidste element i køen. |
| kø::push(g) | Tilføjer elementet 'g' i slutningen af køen. |
| kø::pop() | Sletter det første element i køen. |
C++ program for nogle 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/returns false since q1 is not empty return 0; }> |
>
>Produktion
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 rumkompleksiteten af operationerne i denne kode er som følger:
print_queue funktion:
Tidskompleksitet: O(n), hvor n er antallet af elementer i køen.
Rumkompleksitet: O(n), hvor n er antallet af 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-operation.
Rumkompleksitet: O(n), hvor n er det samlede antal elementer i begge køer.
q1.swap(q2):
Tidskompleksitet: O(1) for hver swap-operation.
Rumkompleksitet: O(1), da denne operation kun bytter de interne pointere i de to køer.
q1.empty():
vlc for at downloade youtube-videoer
Tidskompleksitet: O(1), da denne operation blot tjekker om køen er tom.
Rumkompleksitet: O(1), da der ikke bruges ekstra plads til denne operation.
Samlet set er tids- og rumkompleksiteten af denne kode rimelig og effektiv til typiske brugssager.
Seneste artikler om C++ Queue