Leia o fragmento, interprete o código Python em questão e assinale alternativa correta. 1. def remove(self, valor): 2. if self.head.data == valor: 3. self.head = self.head.nextItem 4. else: 5. before = None 6. navegar = self.head 7. while navegar and navegar.data != valor: 8. before = navegar 9. navegar = navegar.nextItem 10. if navegar: 11. before.nextItem = navegar.nextItem 12. else: 13. before.nextItem = None a) Descreva como o método recebe o valor: b) Não sendo o método, como será a busca? Lembre-se do head. c) Quais alterações ocorrerá na lista help so falta essa questao
a) O método recebe o valor que será removido e navega por toda a lista em busca do valor. Inicialmente, deve-se verificar se o valor buscado corresponde ao item do cabeçalho (remoção mais simples).
b) Se não for o método deve buscar o anterior e o próximo (baseado no head).
c) O valor correspondente ao próximo item é alterado, não sendo necessário assim alterar toda a lista, e sim apenas os itens anterior e posterior diretamente envolvidos.
Lista de comentários
a resposta é a linha número 8
Resposta:
a) O método recebe o valor que será removido e navega por toda a lista em busca do valor. Inicialmente, deve-se verificar se o valor buscado corresponde ao item do cabeçalho (remoção mais simples).
b) Se não for o método deve buscar o anterior e o próximo (baseado no head).
c) O valor correspondente ao próximo item é alterado, não sendo necessário assim alterar toda a lista, e sim apenas os itens anterior e posterior diretamente envolvidos.
Explicação: