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?
Envie sua primeira dúvida gratuitamente aqui no Tira-dúvidas Profes. Nossos professores particulares estão aqui para te ajudar.
Provavelmente esse método é parte de uma classe ListaLinkada. Cada elemento da lista é um nó que tem um valor e uma referencia ao próximo nó.
Por exemplo, uma lista linkada poderia ser algo como:
Portanto, para buscar um elemento na lista, começamos do primeiro elemento, e vamos seguindo para o próximo. Ao encontrar o elemento desejado, basta mudar a referência de elemento anterior ao próximo elemento para o elemento seguinte ao atual. Por exemplo, removendo o elemento "c", a lista ficaria:
Envie sua primeira dúvida gratuitamente aqui no Tira-dúvidas Profes. Nossos professores particulares estão aqui para te ajudar.
Envie sua primeira dúvida gratuitamente aqui no Tira-dúvidas Profes. Nossos professores particulares estão aqui para te ajudar.