Considere uma lista simplesmente encadeada, não circular...
Imagem de fundo

Considere uma lista simplesmente encadeada, não circular...

Considere uma lista simplesmente encadeada, não circular, referenciada pelo ponteiro head, em que cada nó possui os campos valor e prox. Acessar qualquer campo de um ponteiro nulo resulta em erro de execução (violação de acesso). Os operadores lógicos são avaliados em curto-circuito, da esquerda para a direita: se o primeiro operando de uma conjunção for falso, o segundo não é avaliado.

A função a seguir pretende remover, de uma lista com pelo menos um nó, o primeiro nó cujo valor seja igual a x. O ponteiro head não é modificado em nenhum ponto da função.

Imagem associada para resolução da questão

Sobre o comportamento dessa função, assinale a alternativa correta.


A

Remove corretamente o nó procurado, qualquer que seja sua posição na lista.


B

Falha quando o nó procurado é o último da lista, pois atual.prox é nulo nesse caso.


C

Remove todos os nós cujo valor seja igual a x, e não apenas o primeiro.


D

Entra em laço infinito quando o valor x não está presente na lista.


E

Falha quando o nó procurado é o primeiro da lista, pois anterior permanece nulo.