Vous êtes sur la page 1sur 13

Estrutura de dados i

Prof. MSc. Flvio de Almeida e Silva

Estrutura de dados I Sumrio


1. 2. 3. Definio de Pilha. Utilizao Algoritmo para pilha esttica.

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

Espao Livre para Alocao em tempo de execuo. Armazenamento DINMICO


Alocao em tempo de execuo: Variveis, vetores, matrizes, etc. Armazenamento ESTTICO

Variveis Globais Programa

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

Estrutura de dados I Pilha


Dado 10 103 Posio de memria 520 200 Dado 200 Dado NULL 103 Dado 520 TOPO = 10

7/13

Estrutura de dados I

Pilha
Algoritmo:
Definir estrutura

Opes de acesso (menu)

Inserir

Consultar

Remover

Esvaziar

Sair
8/13

Estrutura de dados I

Pilha
Algoritmo:
Inserir V

Verificar se Pilha Est Cheia V

F
Verificar se existe Criar Pilha

Inserir Elemento

Mudar TOPO Informar que Pilha Est Cheia

Retornar Pilha

9/13

Estrutura de dados I

Pilha
Algoritmo:
Consultar V

Apresentar elemento e posio

F
Verificar se existe

Elemento No Existe

Retornar

10/13

Estrutura de dados I

Pilha
Algoritmo:
Remover V

Remover elemento e Mudar posio Topo

F
Verificar se existe

Elemento No Existe ou Pilha Vazia

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

Continuao na prxima aula

13/13

Vous aimerez peut-être aussi