stacks queues stl
Na primjerima naučite primjenu stekova i redova u STL-u.
Stogovi i redovi su dva spremnika u STL-u koji su vrlo osnovne prirode. To su najjednostavniji spremnici koji imaju široku primjenu u programiranju softvera.
U ovom uputstvu vidjet ćemo detaljnu implementaciju oba ova spremnika u STL. Također ćemo s primjerima proći kroz razne operacije podržane stogom i redom.
=> Ovdje pripazite na jednostavne serije obuke za C ++.
Što ćete naučiti:
Stogovi
Stack spremnik u STL-u je vrsta adaptera spremnika. Koristi se za kopiranje strukture podataka steka u C ++. Spremnik steka skup je elemenata u koje su elementi umetnuti na jednom kraju, a na istom se kraju i brišu.
Ova uobičajena točka dodavanja i brisanja poznata je pod nazivom 'Vrh stoga'.
Slikovni prikaz stoga prikazan je u nastavku.

Kao što je prikazano u gornjoj predstavi, stog je spremnik u kojem se dodaju i brišu elementi s istog kraja koji se naziva Vrh stoga.
Budući da se dodavanje i brisanje događa na istom kraju, možemo reći da je spremnik steka LIFO (zadnji ulaz, prvi izlaz) tip posla. To znači da će element koji se doda prvi biti zadnji koji će se izbrisati.
Da bismo implementirali spremnik steka, moramo uključiti zaglavlje u naš program.
#include Sintaksa opće deklaracije za spremnik steka je:
stack stackName; Operacije slaganja
Dalje, razgovarajmo o raznim operacijama koje slažu spremnik u STL potpore.
- gurnuti : push operacija koristi se za umetanje elementa u stog. Ova operacija uvijek dodaje elemente na vrhu stoga.
Razmotrimo prazan stog mystack tipa integer .

Dalje, dodajte element 1 u stog.

Zatim u snop dodamo element 3.

Prema prikazu, kao rezultat operacije potiskivanja, element se dodaje na vrh stoga. Nakon svake operacije guranja, veličina stoga povećava se za 1.
- pop : pop operacija koristi se za uklanjanje elementa iz stoga. Uklonjeni je onaj element na koji je usmjeren vrh snopa. Kao rezultat operacije pop, veličina hrpe smanjuje se za 1.
Pogledajmo kako izgleda pop operacija:
Razmotrite stack mystack kao gore u koji smo već ugurali 2 elementa.

Nazovimo sada funkciju pop (). Kada se ovaj poziv izvrši, element na vrhu stoga uklanja se i ‘Top’ pokazuje na sljedeći element kao što je prikazano u nastavku.

Ako ponovno pozovemo pop (), tada će se ukloniti sljedeći element (u ovom slučaju 1), što će rezultirati praznim stogom.

koji je najbolji program za čišćenje računala
- vrh : Vraća najviši element stoga.
- prazan : Provjerava je li stog prazan ili nije.
- veličina: Vraća veličinu stoga, tj. Broj elemenata u stogu.
Dolje je dan primjer implementacije Stacka radi boljeg razumijevanja operacija.
#include #include using namespace std; void printStack(stack stk) { while (!stk.empty()) { cout << ' ' << stk.top(); stk.pop(); } cout << '
'; } int main () { stack oddstk; oddstk.push(1); oddstk.push(3); oddstk.push(5); oddstk.push(7); oddstk.push(9); cout << 'The stack is : '; printStack(oddstk); cout << '
Size of stack: ' << oddstk.size(); cout << '
Top of stack: ' << oddstk.top(); cout << '
oddstk.pop() : '; oddstk.pop(); printStack(oddstk); cout<<'
Another pop(): '; oddstk.pop(); printStack(oddstk); return 0; } 
Gornji primjer jasno prikazuje operaciju potiskivanja koja generira stog. Također prikazuje hrpu nakon dvije uzastopne pop operacije.
Tako smo vidjeli stog i njegovo poslovanje u STL-u. Dalje, u ovom uputstvu vidjet ćemo detaljnu implementaciju još jednog jednostavnog STL spremnika koji je 'Red čekanja'.
Red
Red je još jedan spremnik u STL-u koji je također vrlo jednostavan i koristan. Spremnik reda je replika strukture podataka o redu u C ++. Za razliku od stoga, u spremniku reda nalaze se dva kraja, tj. Prednji i stražnji.
Elementi se dodaju u red sa stražnje strane, dok se brišu s prednje strane. Općenito, red koristi FIFO (First in, First Out) tip aranžmana.
Da bismo implementirali spremnik reda u program, u kôd moramo uključiti zaglavlje.
#include Opća sintaksa za deklaraciju reda je:
red queue_name;
Spremnik reda deklariramo na sljedeći način:
Queue myqueue; Operacije u redu
Sada ćemo vidjeti razne operacije podržane redom.
- gurnuti: Funkcija 'push' dodaje element na kraju reda, tj. Na stražnjoj strani reda.
- pop: Funkcija 'pop' uklanja prvi element reda, tj. Element na prednjoj strani reda.
Razumijemo push i pop funkcije u redu.
Uzmite u obzir prazan red proglašen iznad myqueue. Sada operacijom gurnemo paran broj 2 u redu čekanja
myqueue.push (2);
Sada će red izgledati ovako:

Dalje, u red čekamo s pozivom 'myqueue.push (4)' u red.
Sada red izgleda kao što je prikazano u nastavku:

Kao što se vidi gore, elementi se guraju u red sa stražnjeg ili stražnjeg dijela.
Ajmo sada istrenirati moj red.
myqueue.pop ();

Dakle, kao što vidimo, kada se pozove pop (), uklanja se element ispred reda. To znači da je prvi element koji je uveden u red prvi element koji je izvan reda.
- ispred: Ova funkcija vraća referencu na prvi element reda.
- leđa: Natrag vraća referencu na zadnji element u redu.
- prazan: Provjerava je li red prazan.
- veličina: Vraća veličinu reda, tj. Broj elemenata u redu.
Slijedi primjer programa koji prikazuje operacije koje koristi spremnik reda.
#include #include using namespace std; void printQueue(queue myqueue) { queue secqueue = myqueue; while (!secqueue.empty()) { cout << ' ' << secqueue.front(); secqueue.pop(); } cout << '
'; } int main() { queue myqueue; myqueue.push(2); myqueue.push(4); myqueue.push(6); myqueue.push(8); cout << 'The queue myqueue is : '; printQueue(myqueue); cout << '
myqueue.size() : ' << myqueue.size(); cout << '
myqueue.front() : ' << myqueue.front(); cout << '
myqueue.back() : ' << myqueue.back(); cout << '
myqueue.pop() : '; myqueue.pop(); printQueue(myqueue); return 0; } Izlaz:
Red čekanja je: 2 4 6 8
myqueue.size (): 4
myqueue.front (): 2
myqueue.back (): 8
myqueue.pop (): 4 6 8
Kao što je gore prikazano, prvo deklariramo spremnik reda. Zatim pomoću operacije guranja u nju dodamo prva četiri parna broja. Nakon toga iskačemo element iz reda i prikazujemo promijenjeni red.

Zaključak
Ovim smo došli do kraja ovog vodiča o hrpama i redovima. Kao što je već spomenuto, ovo su najjednostavniji spremnici koje imamo u STL-u. Druga varijacija spremnika reda poznata je kao 'Prioritetni red'.
U našem nadolazećem tutorialu razgovarat ćemo o prioritetnom redu u STL-u !!
=> Posjetite ovdje da biste C ++ naučili od nule.
kako otvoriti .torrent datoteke