Primeiro, veremos o que é pilha e o que é fila individualmente e depois discutiremos as diferenças entre pilha e fila.
O que é uma pilha?
Uma estrutura de dados. No caso de um array, o acesso aleatório é possível, ou seja, qualquer elemento de um array pode ser acessado a qualquer momento, enquanto em uma pilha o acesso sequencial só é possível. É um container que segue a regra de inserção e exclusão. Segue o princípio LIFO (último a entrar, primeiro a sair) em que a inserção e exclusão ocorrem de um lado conhecido como principal . Na pilha, podemos inserir os elementos de um tipo de dados semelhante, ou seja, os elementos de tipos de dados diferentes não podem ser inseridos na mesma pilha. As duas operações são realizadas em LIFO, ou seja, empurrar e pop Operação.
se mais no bash shell
A seguir estão as operações que podem ser executadas na pilha:
Na pilha, o principal é um ponteiro usado para rastrear o último elemento inserido. Para implementar a pilha, devemos saber o tamanho da pilha. Precisamos alocar memória para obter o tamanho da pilha. Existem duas maneiras de implementar a pilha:
O que é a fila?
A
Semelhanças entre pilha e fila.
Existem duas semelhanças entre a pilha e a fila:
Tanto a pilha quanto a fila são estruturas de dados lineares, o que significa que os elementos são armazenados sequencialmente e acessados em uma única execução.
Tanto a pilha quanto a fila são flexíveis em tamanho, o que significa que podem aumentar ou diminuir de acordo com os requisitos do tempo de execução.
Diferenças entre pilha e fila
A seguir estão as diferenças entre a pilha e a fila:
Base para comparação | Pilha | Fila |
---|---|---|
Princípio | Segue o princípio LIFO (Last In-First Out), o que implica que o elemento inserido por último será o primeiro a ser excluído. | Segue o princípio FIFO (First In -First Out), o que implica que o elemento adicionado primeiro seria o primeiro elemento a ser removido da lista. |
Estrutura | Possui apenas uma extremidade a partir da qual ocorre a inserção e a exclusão, e essa extremidade é conhecida como topo. | Possui duas extremidades, ou seja, dianteira e traseira. A extremidade frontal é usada para exclusão, enquanto a extremidade traseira é usada para inserção. |
Número de ponteiros usados | Ele contém apenas um ponteiro conhecido como ponteiro superior. O ponteiro superior contém o endereço do último elemento inserido ou do elemento mais alto da pilha. | Ele contém dois ponteiros dianteiro e traseiro. O ponteiro frontal contém o endereço do primeiro elemento, enquanto o ponteiro traseiro contém o endereço do último elemento de uma fila. |
Operações realizadas | Ele executa duas operações, push e pop. A operação push insere o elemento em uma lista enquanto a operação pop remove o elemento da lista. | Ele executa principalmente duas operações, enfileirar e desenfileirar. A operação de enfileiramento realiza a inserção dos elementos em uma fila enquanto a operação de desenfileiramento realiza a exclusão dos elementos da fila. |
Exame da condição vazia | Se top==-1, o que significa que a pilha está vazia. | Se front== -1 ou front = rear+1, significa que a fila está vazia. |
Exame de condição completa | Se top== max-1, esta condição implica que a pilha está cheia. | Se rear==max-1, esta condição implica que a pilha está cheia. |
Variantes | Não possui nenhum tipo. | É de três tipos, como fila prioritária, fila circular e fila dupla. |
Implementação | Possui uma implementação mais simples. | Tem uma implementação comparativamente complexa do que uma pilha. |
Visualização | Uma pilha é visualizada como uma coleção vertical. | Uma fila é visualizada como uma coleção horizontal. |