Estruturas de dados são fundamentais na ciência da computação para organizar e processar informações de forma eficiente. A pilha (stack) é uma estrutura de dados que pode ser utilizada no controle de chamadas de funções e processamento de expressões. Sobre o funcionamento de uma pilha, assinale a afirmativa correta.
- A)São apropriadas apenas para armazenar números inteiros.
Errada, porque pilha não serve apenas para inteiros; ela pode armazenar qualquer tipo de dado compatível com a implementação.
- B)Em uma pilha, elementos podem ser acessados diretamente pelo índice.
Errada, porque o acesso em pilha não é direto por índice como em vetores; o acesso ocorre pelo topo.
- C)O método pop() na linguagem Java é utilizado para inserir elementos no topo da pilha.
Errada, porque em Java o pop() remove e retorna o elemento do topo, enquanto a inserção é feita por push().
- D)A pilha é uma estrutura LIFO (Last In, First Out), ou seja, o último elemento armazenado na pilha, é o primeiro a sair.
Certa, porque a pilha funciona em LIFO: o último elemento inserido é o primeiro a ser removido.
- E)A pilha é uma estrutura FIFO (First In, First Out), ou seja, o primeiro elemento armazenado na pilha, é o primeiro a sair.
Errada, porque FIFO é a lógica de fila, não de pilha.
Gabarito: D
A pilha é uma estrutura de dados simples, mas muito cobrada em prova porque aparece em vários contextos: controle de chamadas de funções, desfazer operações, navegação em páginas e avaliação de expressões. O ponto central é a lógica de acesso: quem entra por último é quem sai primeiro. É o famoso LIFO, de "Last In, First Out". Pense numa pilha de pratos: você coloca um prato por cima e, quando vai retirar, pega justamente o do topo. Nada de mexer no meio da pilha como se fosse uma gaveta organizada. Por isso, em uma pilha, as operações típicas são inserir no topo (push) e remover do topo (pop). A alternativa D está correta porque descreve exatamente essa regra: o último elemento armazenado é o primeiro a sair. Esse comportamento é o que define a pilha na ciência da computação e também explica seu uso no controle de execução de funções, em que a última chamada feita é a primeira a ser encerrada. Não há um fundamento legal aqui; trata-se de conceito clássico de Estruturas de Dados. Já FIFO é característica de fila, não de pilha. Então, se a questão fala em LIFO, você pode pensar sem medo: pilha. Se falar em FIFO, pense em fila. Essa associação costuma salvar tempo e evitar confusão na prova.