Você está na página 1de 2

Alocação Estática Seqüencial

Índice > Pilha > Alocação Estática Seqüencial

http://www.icmc.usp.br/~sce182/pimpls.html

Instituto de Ciências Matemáticas de São Carlos Departamento de Computação e Estatística SCE182 - Algoritmos e Estruturas de Dados 1 Profs. Resp.: Graça Pimentel e Maria Cristina

Alocação Estática Seqüencial

Pimentel e Maria Cristina Alocação Estática Seqüencial Definição da Estrutura de Dados Type pilha = array

Definição da Estrutura de Dados Type

pilha = array [1

maxp]

indice = 0 Var P: pilha; topo: indice;

maxp;

of T;

-> Refazer as operações abaixo, para o caso da pilha ser definida da seguinte estrutura:

Type aloc_pilha = array [1

maxp] of T;

maxp; pilha = record info: aloc_pilha; topo: indice; end;

indice = 0

Var

P: pilha;

Operações

1. criar (P) - criar uma pilha P vazia

procedure criar (Var topo:indice); begin topo := 0; end;

2. inserir (x, P) - insere x no topo de P(empilha): push (x, P).

procedure push (x:T; var P: pilha; Var topo: indice); begin if topo = maxp then "PILHA CHEIA" else begin topo := topo + 1; P[topo] := x; end

Alocação Estática Seqüencial

end;

3. vazia (P) - testa se P está vazia

function vazia (topo: indice): boolean; begin vazia := (topo = 0); end;

4. topo (P) - acessa o elemento do topo da pilha (sem eliminar)

procedure top (Var topo_p: T; Var P:pilha; topo:indice); begin if vazia(topo) then "PILHA VAZIA" else topo_p := P[topo]; end;

http://www.icmc.usp.br/~sce182/pimpls.html

5. elimina (P) - elimina o elemento do topo de P (desempilha): pop (P)

procedure pop (Var topo:indice; Var P:pilha); begin if vazia(topo) then "PILHA VAZIA" else topo = topo-1; end;

Devolve elemento eliminado

procedure pop_up (var P:pilha; var topo:indice):T;

begin if vazia(topo) then "PILHA VAZIA" else begin pop_up:= P[topo]; {no caso de acesso ao elemento} topo = topo-1; end;

end;

-> Responda: do ponto de vista do TAD, qual das duas organizações de pilha exemplificadas acima é a mais adequada? Justifique.

Alocação Dinâmicaqual das duas organizações de pilha exemplificadas acima é a mais adequada? Justifique. Pilha 2 de

Pilhaorganizações de pilha exemplificadas acima é a mais adequada? Justifique. Alocação Dinâmica 2 de 2 25/2/2008