- Fundamentos de ProgramaçãoEstruturas de DadosDefinição: Estrutura de Dados
- Fundamentos de ProgramaçãoEstruturas de DadosEstrutura de Dados: Lista
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.
Sobre o comportamento dessa função, assinale a alternativa correta.
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.
função remover(head, x)
anterior ← null
atual ← head
enquanto atual ≠ null e atual.valor ≠ x faça
anterior ← atual
atual ← atual.prox
fim enquanto
se atual ≠ null então
anterior.prox ← atual.prox
liberar(atual)
fim se
retorne head
fim função Sobre o comportamento dessa função, assinale a alternativa correta.