Fila e Pilha¶
Tanto fila como pilha são estrutura de dados lineares, ou seja, possuem ligação com um único antecedente e com um único sucessor, desse modo:
Pilha (vetorial)¶
Uma pilha (ou stack em inglês) é uma estrutura linear na qual inserções e remoções ocorrem no topo da pilha.
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.
Características:
- O último elemento a entrar tem que ser o primeiro a sair (Last-In-First-Out).
- Permitem acesso a apenas o último item inserido.
- Inserções e remoções ocorrem no topo.
Principais funções:
isEmpty()
: chamada para verificar se a pilha está vazia.isFull()
: chamada para verificar se a estrutura está completa (quando possui tamanho fixo).push()
: inserção de elementos no topo da pilha; empilhar.pop()
: remoção do elemento que está no opo da pilha; desempilhar.
Principais usos
- O comando de desfazer a última operação (ctrl+z / cmd+z)
- Navegação entre páginas.
- Função recursiva;
Fila (vetorial)¶
Uma fila (ou queue) é uma estrutura linear na qual as inserções ocorrem no final e as exclusões ocorrem no início.
Todas as operações em uma fila podem ser imaginadas como as que ocorre numa fila de pessoas num banco, exceto que os elementos não se movem na fila, conforme o primeiro elemento é retirado. Isto seria muito custoso para o computador. O que se faz na realidade é indicar quem é o primeiro.
Caracterísiticas
- O primeiro elemento a entrar na estrutura tem que ser o primeiro a sair (First-In-First-Out).
- Inserções ocorrem no final e remoções ocorrem no início.
Principais funções
queue()
- enfileirardequeue()
- desinfileirar- Além das funções
isEmpty()
eisFull()
, semelhantes à pilha.
Principais usos
- Documentos enviados para impressões.
- Troca de mensagens entre processos em Sistemas Operacionais.
- Troca de mensagens entre computadores em uma rede.