R: É uma lista linear em que todas as inserções, e retiradas e, geralmente todos os acessos são feitos em apenas um extremo da lista.
R: O Modelo é o de um monte de pratos em uma prateleira, sendo conveniente retirar ou adicionar pratos na parte superior.
R: Os itens são colocados um sobre o outro. O item inserido mais recentemente está no topo, e o inserido menos recentemente está no fundo.
R: Esta imagem está associada com a teoria de autômato, na qual o topo de uma pilha é considerado como o receptáculo de uma cabeça de leitura/gravação que pode empilhar e desempilhar itens da pilha.
R: O último item inserido é o primeiro item que pode ser retirado da lista . São chamadas listas LIFO (“last-in, First-out).
R: Existe uma ordem linear para pilhas, do mais recente para o menos recente.
R: É ideal pra estruturas aninhadas de profundidade imprevisível.
R: A ordem de remoção garante que as estruturas mais internas serão processadas antes das mais externas.
R: As pilhas ocorrem em estruturas de natureza recursiva(como árvores).
R: 1ª – Quando é necessário caminhar em um conjunto de dados e guardar uma lista de coisas a fazer posteriormente.
2ª – O controle de seqüência de chamadas de subprogramas.
3ª – A sintaxe de expressões aritméticas.
FPVazia(pilha). Faz a pilha ficar vazia.
Vazia(Pilha). Retorna true se a pilha está vazia; caso contrário retorna false.
Empilha(x,pilha). Insere o item x no topo da pilha.
Desempilha(Pilha,x). Retorna o item x no topo da pilha, retirando-a da pilha.
Tamanho(Pilha). Essa função retorna o número de itens da pilha.
R: Os itens da pilha são armazenados em posições contíguas de memória
* Os itens são armazenados em um array do tamanho da pilha.
* O outro campo de mesmo registro contém um apontador para o item no topo da pilha.
* A constante MaxTam define o tamanho máximo permitido para a pilha.
#difine MaxTam 1000
typedef int TipoApontador
typedef int TipoChave
typedef struct {
TipoChave Chave;
}TipoItem;
typedef struct {
TipoItem Item;
TipoApontador Topo;
}TipoPilha;
void FPVazia(TipoPilha _Pilha)
R: Há uma célula cabeça no topo para facilitar a implementação das operações empilha e desempilha quando a pilha está fazia.
* O campo tamanho evita a contagem do número de itens na função tamanho.
* Cada célula de uma pilha contém um item da pilha e um apontador para outra célula.
* O Registro TipoPilha contém um apontador para o topo da pilha (célula cabeça) e um apontador para o fundo da pilha.
typedef int TipoChave;
void FPVazia(TipoPilha _Pilha)
Post a Comment
Click to see the code!
To insert emoticon you must added at least one space before the code.