Sunteți pe pagina 1din 32

Stive si cozi

Conf. dr. Smaranda Belciug


sbelciug@inf.ucv.ro
Stive si cozi (Stack vs. Queue)
—  Colectii de obiecte

—  Operatii: inserare, stergere, iterare, verificare daca sunt vide

—  Inserarea e la fel la ambele

—  Dar stergerea?

—  Stiva: Last in first out – LIFO

—  Coada: First in first out - FIFO

2
Stive
—  O stiva permite accesul la un singur element: ultimul

introdus in stiva.

—  Daca scoatem din stiva ultimul element, vom avea acces la

penultimul element s.a.m.d.

—  Majoritatea microprocesoarelor folosesc o arhitectura bazata

pe stive

3
—  Adaugarea unui nou element intr-o stiva se numeste push.

—  Scoaterea unui element dintr-o stiva se numeste pop.

4
Implementare in C++

5
6
7
8
9
Exemple: Inversarea unui cuvant

10
11
12
13
14
Exemple: Verificare paranteze
—  c[d] // corect Caracter citit Stiva
a
—  a{b[c]d}e // corect { {
—  a{b(c]d}e // incorect ] != ( b {
( {(
—  a[b{c}d]e} // incorect c {(
—  a{b(c) // incorect [ {([
d {([
] {(
e {(
) {
f {
}
15
16
17
18
19
Coada. Coada de prioritati
—  Enqueue - a introduce elemente in coada

—  Dequeue - a scoate elemente din coada

20
21
22
23
24
25
Coada de prioritati
—  La fel ca o coada obisnuita, coada de prioritati are doua

capete

—  Inserarea in coada de prioritati se face dupa valoarea unei

chei ce determina prioritatea.

26
27
28
29
30
31
Pe saptamana viitoare!

32

S-ar putea să vă placă și