TELMA SOARES
Pilhas são listas onde a inserção de um novo item ou a remoção
de um item já existente se dá em uma única extremidade, no topo.
… … Pilha vazia
topo
A … … Insere(A)
topo
A B … … Insere(B)
topo
A … … Retira()= B
topo
A C … … Insere(C)
topo
A … … Retira()= C
topo
… … Retira()= A
topo
Definição (Pilha)
Dada uma pilha P=( a(1), a(2), ..., a(n) ), dizemos que a(1) é o
elemento da base da pilha; a(n) é o elemento topo da pilha; e
a(i+1) está acima de a(i).
Pilha P;
indice topo;
… …
Pilha P;
Operações
Pilha P;
indice topo;
Exercício
typedef Tipo_Elem aloc_pilha[Maxp];
#define Maxp 100; typedef struct {
typedef tipo_elem aloc_pilha info;
Pilha[Maxp]; indice topo;
typedef int indice; }Pilha;
Pilha P; Pilha P;
indice topo;
….
topo
Operações em Pilhas Encadeadas
Fazer a documentação de cada operação, incluindo
pré e pós-condições.
int vazia(Pilhae p)
{
return p.topo==NULL;
} //vazia Função que verifica se a Pilhae está
vazia.
4. topo (P) - acessa o elemento do topo da pilha
(sem eliminar), supondo que existe pelo menos
um elemento na pilha.
Operador: * A/B D E … …
topo
Operador: + A/B D*E … …
topo
A/B + D*E … …
topo
1) Seja a função esvazie( ) tal que, recebendo uma pilha como entrada,
esvazie a pilha descartando todos os seus elementos.
Escreva a função esvazie( )
• push na pilha i
• pop na pilha i
• imprimir o conteúdo da pilha i
• imprimir o conteúdo de todas as pilhas