Čakalne vrste so vrsta vsebniških adapterjev, ki delujejo v vrsti dogovora prvi prispe, prvi ven (FIFO). Elementi se vstavijo zadaj (konec) in se izbrišejo spredaj. Čakalne vrste uporabljajo inkapsuliran objekt deque oz seznam (razred zaporednega vsebnika) kot osnovni vsebnik, ki zagotavlja poseben nabor članskih funkcij za dostop do njegovih elementov.
Sledi primer za predstavitev čakalne vrste in njenih različnih metod.
CPP
numpy ničle
// 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>>gkviz;> >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;> }> |
>
>Izhod
The queue gquiz is : 10 20 30 gquiz.size() : 3 gquiz.front() : 10 gquiz.back() : 30 gquiz.pop() : 20 30>
Metode čakalne vrste so:
gimp izvozi kot jpg
Časovna kompleksnost in definicija naslednjih funkcij sta naslednji:
| čakalna vrsta::prazno() | O(1) |
| čakalna vrsta::velikost() | O(1) |
| čakalna vrsta::mesto() | O(1) |
| čakalna vrsta::spredaj() | O(1) |
| čakalna vrsta::nazaj() | O(1) |
| čakalna vrsta::push(g) | O(1) |
| čakalna vrsta::pop() | O(1) |
| Metoda | Opredelitev |
|---|---|
| čakalna vrsta::prazno() | Vrne, ali je čakalna vrsta prazna. Vrne true, če je čakalna vrsta prazna, sicer vrne false. |
| čakalna vrsta::velikost() | Vrne velikost čakalne vrste. |
| čakalna vrsta::swap() | Izmenjajte vsebino dveh čakalnih vrst, vendar morata biti čakalni vrsti iste vrste podatkov, čeprav se velikosti lahko razlikujejo. |
| čakalna vrsta::mesto() | Vstavite nov element v vsebnik čakalne vrste, nov element se doda na konec čakalne vrste. |
| čakalna vrsta::spredaj() | Vrne sklic na prvi element čakalne vrste. |
| čakalna vrsta::nazaj() | Vrne sklic na zadnji element čakalne vrste. |
| čakalna vrsta::push(g) | Doda element 'g' na konec čakalne vrste. |
| čakalna vrsta::pop() | Izbriše prvi element čakalne vrste. |
Program C++ za nekatere druge metode
C++
string.replaceall v Javi
// 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; }> |
>
>Izhod
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>
Časovna in prostorska kompleksnost operacij v tej kodi je naslednja:
funkcija print_queue:
Časovna zahtevnost: O(n), kjer je n število elementov v čakalni vrsti.
Kompleksnost prostora: O(n), kjer je n število elementov v čakalni vrsti.
q1.push(1), q1.push(2), q1.push(3), q2.push(4), q2.push(5), q2.push(6):
Časovna zahtevnost: O(1) za vsako potisno operacijo.
Kompleksnost prostora: O(n), kjer je n skupno število elementov v obeh čakalnih vrstah.
q1.swap(q2):
Časovna zahtevnost: O(1) za vsako operacijo zamenjave.
Kompleksnost prostora: O(1), ker ta operacija samo zamenja notranje kazalce obeh čakalnih vrst.
q1.empty():
kako razvrstiti matriko v Javi
Časovna zahtevnost: O(1), saj ta operacija preprosto preveri, ali je čakalna vrsta prazna.
Kompleksnost prostora: O(1), saj se za to operacijo ne uporablja dodaten prostor.
Na splošno so časovne in prostorske zapletenosti te kode razumne in učinkovite za tipične primere uporabe.
Nedavni članki o čakalni vrsti C++