în informatică Prelegeri - un teanc (stivă)

informații generale

Un teanc (stiva) - este o structură de date dinamică, cu acces în serie. Accesul la elementele stivei după cum urmează, elementele din stivă se poate obține numai în ordine inversă pentru a le adăuga la stiva.

Exemplele de stivă includ:

  1. piramidă copii obișnuiți: un inel mare, care a purtat înainte, nu poate fi îndepărtată fără a elimina puținul pe care a fost pus la o dată ulterioară;
  2. Linia de cale ferată: masina nu poate fi dat afară din impas, nu a condus anterior masina, care a fost condus mai târziu;
  3. tub cu un capăt sudat unde sunt plasate butoiașe multicolori.

Cel mai recent exemplu este cel mai relevant pentru conceptul de stiva de programare: peering în țeavă, putem vedea că butoaie din conducta acolo, sau a se vedea culoarea țevii superioare, dar nu putem vedea dacă există butoiașe sub partea de sus, cât de multe și de ce culoare sunt.

munca stiva este organizată pe principiul LIFO (Last In First Out) - ultimul, primul ieșit.

Element al stivei, care în prezent poate lua, de exemplu, sus, numit partea de sus a stivei. În cazul în care numărul de elemente din stivă nu poate depăși o anumită valoare, stiva se numește limitată. iar numărul maxim de elemente în ea - adâncimea stivei.

Implementarea stivei în C ++

Iată un exemplu de implementare a unui teanc nelimitat de numere întregi pe baza unei liste legate.

Punerea în aplicare a șablonului „stivă“

Format - este un martor pentru o clasă, o clasă parametrizat. șablonul nostru „stivă“ va avea un parametru - tipul de date din care va consta dintr-o stivă. Utilizarea unui șablon este ușor de a declara stive de tipuri de date complet arbitrare:

pentru că avem deja o clasă gata „stivă de numere întregi“, este ușor să se transforme într-un model de „stivă“.