Para os próximos exercícios (4 e 5), considere as seguintes rotinas como disponíveis.
Pilha_Vazia(p) – retorna T se a pilha P estiver vazia e F se estiver cheia;
Pilha_Cheia(p) – retorna T se a pilha P estiver cheia e f se estiver vazia;
Empilha(p,x) – insere o elemento X no inicio da pilha P;
Desempilha(p) – remove o 1º elemento da pilha P e retorna o conteúdo como valor da função;
Imprime(p) – imprime a pilha P.
Empilha(p,’b’), pilha_cheia(p), Empilha(p,’s’); Empilha(p,’a’), Empilha(p,’c’), Desempilha(p), Desempilha(p), Empilha(p,’h’), Empilha(p,’d’), Empilha(p,’f’); Desempilha(p), Empilha(p,’n’), Empilha(p,’b’), pilha_cheia(p), Desempilha(p), Empilha(p,’m’), Desempilha(p),Desempilha(p), Desempilha(p), Imprime(p), pilha_vazia(p)
pilha p
saida ->f
saida (h,s,b)
m ->pop
b ->pop
n ->pop
f ->pop
d ->pop
h
e ->pop
a ->pop
s
saida (f)
b
Belezaera mano, a pilha funciona como a pilha de pratos, você insere e retira sempre do TOPO (nesse caso o topo atual é h) criterio LIFO (Last In First Out) Ultimo que entra primeiro que sai, (pop é o termo correto para desempilha) e retira sempre o ultimo elemento inserido na pilha. (saida é o que sai no monitor, nno caso f para todo mundo por que nem esta cheia nem vazia nos momentos em que foi inserido o comando, e a pilha final estaria com a h,s,b sendo h o topo.
Espero ter ajudado.
Escreva os comandos para montar a pilha apresentada abaixo, conforme o modelo:
Quando há mais de um elemento na mesma posição da pilha (linha na representação),
significa que o da esquerda foi removido, antes da inclusão do outro elemento.
_________J_________
________H I________
________G__________
________D E F______
________B C ________
________A___________
Para escrever sua resposta aqui, entre ou crie uma conta
Compartilhar