Questão de Algoritmos e Estrutura de Dados — Pilhas — VUNESP 2019
- Código
- vu043673
- Banca
- VUNESP
- Órgão
- Prefeitura de Birigui - SP
- Ano
- 2019
- Nível
- Médio
- Cargo
- Técnico em Informática
- AArrayList
- BDictionary
- CHashtable
- DQueue
- EStack
GabaritoE — Stack
Gabarito: letra E. A classe Stack implementa o princípio LIFO (Last In, First Out), em que o último elemento inserido é o primeiro a ser removido — exatamente o que a questão descreve: "último que entra, primeiro que sai". As demais alternativas representam outras estruturas (listas, dicionários, tabelas hash e filas).
A banca cobra o conhecimento das estruturas de dados canônicas e suas classes correspondentes na plataforma .NET. A definição clássica de pilha (stack) é:
Estrutura de dados canônica A pilha é uma estrutura de dados baseada no princípio LIFO (LAST in, FIRST out). Há duas operações que se aplicam a todas as pilhas: PUSH, que insere um dado no topo da pilha, e POP, que remove o item no topo da pilha.
ArrayList é uma lista redimensionável que armazena elementos acessados por índice, sem qualquer comportamento LIFO ou FIFO. É uma estrutura linear, não uma pilha.
Dictionary (ou Dictionary<TKey, TValue>) é um mapa associativo que armazena pares chave-valor, permitindo acesso rápido pela chave. Não segue ordenação de entrada ou saída definida.
Hashtable é uma tabela hash não genérica, também baseada em chave-valor. Assim como Dictionary, não implementa LIFO.
Queue implementa o princípio oposto: FIFO (First In, First Out). O primeiro elemento inserido é o primeiro a ser removido. A confusão entre pilha e fila é um distrator comum em provas.
Stack é a classe .NET que implementa a estrutura de dados pilha, com operações Push (inserir no topo) e Pop (remover do topo). Perfeitamente adequada ao conceito LIFO.
Lembre-se da associação direta: LIFO ↔ Stack (pilha); FIFO ↔ Queue (fila). Em provas de VB.NET ou C#, a banca costuma trocar os nomes — fixe essas correspondências.
Link permanente: /questoes/vu043673