Académique Documents
Professionnel Documents
Culture Documents
2/13
Estrutura de dados I
Pilha
Definio
Consideradas listas especializadas; Caractersticas Especficas; FILO (First In Last Out) Primeiro a entrar o ltimo a sair; Encadeamento dado pela indicao do prximo elemento;
Operaes:
Criar; Inserir; Pesquisar/Consultar; Remover/Apagar/Eliminar; Esvaziar;
3/13
Estrutura de dados I
Pilha
Utilizao:
Variveis Locais: Variveis, Vetores, Matrizes, estruturas, etc. Armazenamento ESTTICO
PILHA
Memria Livre para alocao HEAP
4/13
Estrutura de dados I
Pilha
Utilizao: parnteses e colchetes
Suponha: precisamos decidir se uma dada sequncia de parnteses e colchetes est bem-formada (ou seja, parnteses e colchetes so fechados na ordem inversa quela em que foram abertos). Por exemplo, a primeira das sequncias abaixo est bem-formada enquanto a segunda no est. 1: ( ( ) [ ( ) ] ) - 2: ( [ ) ]
5/13
Estrutura de dados I
Pilha
Utilizao:
Outra aplicao: notao polonesa
Na notao usual de expresses aritmticas, os operadores so escritos entre os operandos; por isso, a notao chamada infixa. Na notao polonesa, ou posfixa, os operadores so escritos depois dos operandos. Exemplo:
In-fixa (A+B*C) (A*(B+C)/D-E) (A+B*(C-D*(E-F)-G*H)-I*3) (A+B*C/D*E-F) (A+(B-(C+(D-(E+F))))) Ps-fixa ABC*+ ABC+*D/EABCDEF-*-GH*-*+I3*ABC*D/E*+FABCDEF+-+-+
(A*(B+(C*(D+(E*(F+G))))))
ABCDEFG+*+*+*
6/13
7/13
Estrutura de dados I
Pilha
Algoritmo:
Definir estrutura
Inserir
Consultar
Remover
Esvaziar
Sair
8/13
Estrutura de dados I
Pilha
Algoritmo:
Inserir V
F
Verificar se existe Criar Pilha
Inserir Elemento
Retornar Pilha
9/13
Estrutura de dados I
Pilha
Algoritmo:
Consultar V
F
Verificar se existe
Elemento No Existe
Retornar
10/13
Estrutura de dados I
Pilha
Algoritmo:
Remover V
F
Verificar se existe
Retornar Pilha
11/13
Estrutura de dados I
Pilha
Algoritmo:
Esvaziar V
F
Verificar se existe Pilha No Existe
Esvaziar Pilha
Retornar ao Menu
12/13
13/13