comp

1710 palavras 7 páginas
FEUP/LEEC
Algoritmos e Estruturas de Dados
2001/2002

Pilhas e Filas

João Canas Ferreira http://www.fe.up.pt/~jcf FEUP/LEEC,AED,2001/2002, v0.1

Pilhas e Filas

#1

Conteúdo
1. Pilhas
(a) Implementação baseada em listas
(b) Implementação baseada em vectores
2. Filas
(a) Implementação baseada em listas
(b) Implementação baseada em vectores
3. Aplicações de pilhas
(a) Cálculo de expressões RPN
(b) Conversão de expressões infixas para RPN
4. Aplicação de filas
(a) Percurso mais curto num labirinto

FEUP/LEEC,AED,2001/2002, v0.1

Pilhas e Filas

1

#2

Pilhas

Pilha Estrutura de dados em que a inserção e a remoção de elementos de uma sequência se faz pela mesma extremidade, geralmente designada por topo da pilha.
Uma pilha pode ser considerada como uma restrição de lista.
Visto que se trata de uma estrutura de dados mais simples que a lista, é possível obter implementações mais eficazes.
O conceito de iterador não se aplica a esta estrutura de dados.
LIFO = Last-in First-out

Pilhas e Filas

FEUP/LEEC,AED,2001/2002, v0.1

#3

Operações com pilhas
1

2

3

4

5
5

1 2 3 4 5

4

5

3

3

2

2

2

2

1

1

4

3

1

1

1

4

3

2

2

5
4

4

3

3

3

2

2

2

2

1

1

1

1

FEUP/LEEC,AED,2001/2002, v0.1

Pilhas e Filas

2

1

5 4 3 2 1

#4

Pilha – Implementação baseada em listas template class LStack { public: LStack();
LStack(const LStack &stk);
~LStack();
bool isEmpty() const; bool isFull() const; const T & top() const; void makeEmpty(); void pop(); void push(const T &x);
T topAndPop(); const LStack & operator=(const LStack &stk);
///...

FEUP/LEEC,AED,2001/2002, v0.1

Pilhas e Filas

#5

Classe LStack – Secção privada template class LStack {
// ... private: class ListNode // classe privada
{ public:
T element;
ListNode *next;
ListNode(const T & elem, ListNode *n = 0) : element(elem), next(n) {

Relacionados

  • comp
    5353 palavras | 22 páginas
  • Comp
    267 palavras | 2 páginas
  • Comp
    759 palavras | 4 páginas
  • Comp
    731 palavras | 3 páginas
  • comp
    627 palavras | 3 páginas
  • Comp
    6951 palavras | 28 páginas
  • comp
    425 palavras | 2 páginas
  • Comp
    544 palavras | 3 páginas
  • Comp
    736 palavras | 3 páginas
  • Comp
    335 palavras | 2 páginas