Escolar Documentos
Profissional Documentos
Cultura Documentos
PILHAS - STACK
São estruturas de dados do tipo LIFO (last-in first-out), onde o último elemento a ser inserido, será o
primeiro a ser retirado. Assim, uma pilha permite acesso a apenas um item de dados - o último inserido.
Paraprocessar o penúltimo item inserido, deve-se remover o último.
_ Etc.
A implementação de pilhas pode ser realizada através de vetor (alocação do espaço de memória para
oselementos é contígua) ou através de listas encadeadas.
Numa pilha, a manipulação dos elementos é realizada em apenas uma das extremidades, chamada de
topo, em oposição a outra extremidade, chamada de base.
Todas as operações em uma pilha podem ser imaginadas como as que ocorre numa pilha de pratos em um
restaurante ou como num jogo com as cartas de um baralho:
_ Desempilhar (pop);
_ Mostrar o topo;
struct Pilha {
};
p->topo = -1;
p->capa = c;
}
int estavazia ( struct Pilha *p ){
return 1; // true
else
return 0; // false
if (p->topo == p->capa - 1)
return 1;
else
return 0;
p->topo++;
p->pElem [p->topo] = v;
}
int main(){
){ /* loop infinito */
case 1: //push
else {
printf("\nVALOR? ");
scanf("%f", &valor);
empilhar (&minhapilha, valor);
}
break;
case 2: //pop
if ( estavazia(&minhapilha) == 1 )
else{
}
break;
else {
}
break;
case 4:
exit(0);