Ao adicionar um número inteiro a uma classe implementada com...
os itens a seguir.
Gabarito comentado
Confira o gabarito comentado por um dos nossos professores
Gabarito: E - Errado
Para compreender o porquê da alternativa ser errada, é importante entender como as estruturas de dados pilha (stack) e fila (queue) operam em programação, particularmente em Java.
Uma pilha é uma estrutura de dados do tipo LIFO (Last In, First Out), ou seja, o último elemento a ser inserido é o primeiro a ser removido. Quando adicionamos um item a uma pilha (pushing), ele é colocado no topo da pilha, e ao remover (popping), retiramos o elemento que está no topo. Portanto, o item removido não é necessariamente o primeiro número inteiro do array, mas sim o último que foi adicionado.
Em contraste, uma fila opera sob o princípio FIFO (First In, First Out), onde o primeiro elemento a ser inserido é o primeiro a ser removido. No entanto, o enunciado não menciona filas, e sim a remoção de elementos como se fosse de uma pilha.
A confusão no enunciado está na afirmação de que ao adicionar um elemento a uma classe implementada como um array, ele é armazenado no primeiro elemento disponível vazio. Isso dependerá da implementação da estrutura de dados. Se fosse uma pilha, como dito anteriormente, o elemento seria armazenado no topo. Se a classe fosse implementada para se comportar como uma fila, aí sim o elemento seria adicionado na primeira posição disponível.
Assim, a alternativa está errada porque a descrição combina incorretamente operações de pilha com o armazenamento sequencial típico de outras estruturas, como vetores ou filas, mas não pilhas.
Clique para visualizar este gabarito
Visualize o gabarito desta questão clicando no botão abaixo
Comentários
Veja os comentários dos nossos alunos
Errada.
"(...)remove-se o ÚLTIMO número inteiro do agregado heterogêneo array."
Acredito que o erro esteja aqui: "ele é armazenado no primeiro elemento disponível vazio".
Se eu tenho o seguinte array:
frutas[0] = "Banana";
frutas[1] = "Maçã";
frutas[3] = "Laranja";
E eu quero adicionar mais uma fruta, sem especificar posição:
frutas[] = "Uva";
Ele vai ser colocado em frutas[4], e não em frutas[2].
Alguém discorda?
Em um array, caso não se especifique a posição, o número é armazenado na primeira posição vazia após o último elemento.
Confesso que não entendi a parte de "agregado heterogêneo array". Alguém poderia explicar?
Clique para visualizar este comentário
Visualize os comentários desta questão clicando no botão abaixo