Sunteți pe pagina 1din 15

Stiva

Realizat: grupul 1
Cl a XI- a D

Liceul Teoretic : A. Russo


2012
Notiuni generale despre stiva:
Stiva -este o structura de date abstracta
pentru care atat operatia de inserare a unui
element cat si operatia de extragere a unui
element se realizeaza de la un singur
capat,denumit varful stivei. Singurul
element din stiva la care avem acces direct
este cel de la varf.

2
3
Operatii caracteristice:
- crearea unei stive vide
- inserarea unui element in stiva(operatie
denumita si PUSH)
- extragerea unui element din
stiva(operatie denumita si POP)
- accesarea elementului de la
varf(operatie de numita si TOP)

4
Exemplu:
Ca sa ne imaginam mai bine functionarea unei
stive,sa ne gandim cum lucram cu un teanc de carti
foarte inalt.Cand dorim sa punem o carte in teanc,o
punem deasupra,cand dorim sa luam o carte o luam
tot pe cea de deasupra.Motivul este clar de inteles :
daca am lua o carte de la mijloc am risca sa
daramam tot teancul sau nu am putea ridica cartile
de deasupra pentru ca ar fi prea grele.
Din acest motiv,stiva este definita si ca o structura
de date ce functioneaza dupa principiul LIFO ( last in
first out).

5
Crearea unei stive vide:

Pentru a crea o stiva vida initializam


varful stivei cu -1(varful stivei indica
intotdeauna pozitia ultimului
element,elementele fiind memorate de pe
pozitia 0).
Code:
vf = -1;
Inserarea unui element in stiva:
Pentru a insera un element in e in
stiva S trebuie sa verificam in primul rand daca
stiva nu este plina.Daca acest lucru este
indeplinit memoram elementul,in caz contrar
nu putem duce la indeplinirea sarcinii.
Code:
if(vf == MAX_N-1) //daca stiva este plina
cout<<"Stiva este plina,nu am putut insera
elementul.\n";
else
S[++vf] = e; //inseram elementul e in stiva
7
Extragerea unui element din stiva:
Pentru a extrage un element din stiva trebuie
sa ne asiguram ca stiva nu este vida.Daca
nu este,atunci retinem valoarea din varful
stivei intr`o variabila e si decrementam varful.
Code:
if(vf < 0) // daca stiva este vida
cout<<"Stiva este vida,nu am putut extrage
valoarea.\n";
else
e = S[vf--];

8
9
10
11
Accesarea elementului de la varf:
Accesarea elementului de la varf
presupune determinarea valorii
acestuia,,valoare pe care noi o vom retine
intr`o variabila denumita e.
Code:
e = S[vf];

12
Utilitatea stivelor:
Stiva este o structur de date larg utilizat
n informatic; dintre multiplele utilizri,
stiva este folosit att la implementarea
algoritmilor recursivi, ct i ca structur
auxiliar la traversarea unor structuri de
date mai complicate, cum sunt arborii i
grafurile.

13
Stiva este necesara pentru memorarea
unor informatii si regasirea acestora intr`o
anumita ordine,descrisa de principiul
LIFO.Stiva este folosita atunci cand
programul trebuie sa amane executia
unor operatii,pentru a le executa
ulterior,in ordinea inversa a aparitiilor
lor.Un bun exemplu de utilizare a stivelor
il reprezinta evaluarea unor expresii
matematice.

14
Bibliografie:
Reteaua internet:
www.wikipedia.ro
www.referate-ok.com
www.preferatele.com
www.didactic.ro
Alte surse secrete

15