Foto de Carlos S.
Carlos há 3 anos
Enviada pelo
Site

Código python

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?

 

Computação
1 resposta
Professor Gustavo S.
Identidade verificada
  • CPF verificado
  • E-mail verificado
Respondeu há 2 anos
Contatar Gustavo

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:

 

Um professor já respondeu

Envie você também uma dúvida grátis
Ver resposta
Tutoria com IA
Converse com a Minerva IA e aprenda, tire dúvidas e resolva exercícios
Minerva IA
do Profes
Respostas na hora
100% no WhatsApp
Envie suas dúvidas pelo App. Baixe agora
Prefere professores para aulas particulares ou resolução de atividades?
Aulas particulares
Encontre um professor para combinar e agendar aulas particulares Buscar professor
Tarefas
Envie sua atividade, anexe os arquivos e receba ofertas dos professores Enviar tarefa