(20 pts) Questão 1:
Implemente o código que utilize duas pilhas para armazenar os dados como se estivessem sendo armazenados em uma Fila, porém usando a estrutura de pilha para isso.
a) Explique a diferença entre pilha e fila, quais são os padrões de acesso para cada uma delas.
Implemente o código que utilize duas pilhas para armazenar os dados como se estivessem sendo armazenados em uma Fila, porém usando a estrutura de pilha para isso.
a) Explique a diferença entre pilha e fila, quais são os padrões de acesso para cada uma delas.
Passo 1
Beleza, vamos lá! A pergunta está pedindo para explicar a diferença entre pilha e fila, além de como cada uma delas acessa os elementos. Isso está dentro do conteúdo de Estruturas de Dados, especificamente trabalhando com pilhas e filas. Para resolver, vamos entender o que cada estrutura faz e como elas funcionam na prática.
Passo 2
Primeiro, vamos falar sobre pilha. Imagina uma pilha de pratos na cozinha. Você só consegue pegar o prato que está no topo, e quando adiciona um novo prato, ele vai para o topo também. Então, a pilha funciona com o princípio “Último a Entrar, Primeiro a Sair” (LIFO - Last In, First Out).
Passo 3
Agora, vamos para a fila. Pense numa fila de banco ou de supermercado. O primeiro a entrar na fila é o primeiro a ser atendido. Ou seja, a fila segue o princípio “Primeiro a Entrar, Primeiro a Sair” (FIFO - First In, First Out).
Passo 4
Resumindo as diferenças:
- Pilha: Acesso somente pelo topo, opera como LIFO.
- Fila: Acesso tanto pelo começo quanto pelo final, opera como FIFO.
Isso significa que, na pilha, você sempre adiciona e remove elementos do topo, enquanto na fila, você adiciona no final e remove do começo.
Resposta
A pilha e a fila são duas estruturas de dados distintas. A pilha segue o padrão de acesso “Último a Entrar, Primeiro a Sair” (LIFO), onde os elementos são adicionados e removidos somente do topo. Já a fila segue o padrão “Primeiro a Entrar, Primeiro a Sair” (FIFO), permitindo que os elementos sejam adicionados no final e removidos do começo. Essencialmente, a pilha funciona como uma pilha de pratos, enquanto a fila funciona como uma fila de espera em um banco.