Que hace el siguiente statement? <code>while current.next: current = current.next </code>

Angel Mejia

Angel Mejia

Pregunta
student
hace 4 años

Que hace el siguiente statement?

while current.next: current = current.next

2 respuestas
    Lucas Frezzini

    Lucas Frezzini

    student
    hace 4 años

    Mientras Exista un next actualizo current con el next. Va a dejar de hacerlo cuando el current no posea un next. . El tener una lista linkeada, te permite saber si hay un siguiente, por lo tanto si queres recorrerla, podes preguntar esa condición; ya que el último no tendrá un siguiente y por lo tanto ya estas en el final de tu lista.

    Luis Antonio Ibarra Salgado

    Luis Antonio Ibarra Salgado

    student
    hace 3 años

    Hola amigo, yo también no me quedaban del todo claro estas lineas(no le encontraba el motivo) porque yo pensaba que el currentalmacenaba el ultimo nodo de la lista. Pero me apoye en el debug de VisualStudioCode y ya vi que cada vez que llamamos a la función append el current se sitúa en el primer nodo de la lista y ahí se activa ese while en donde va recorriendo el current hasta llegar al nodo que tiene next = None, entonces sale del while y le asigna:

    current.next = node

    Lo siento trato de explicar lo más claro que puedo pero es muy difícil, te invito a que uses el debug de VSCode para que veas como funciona linea por linea del código y veas que valores van agarrando las variables.

Curso de Estructuras de Datos con Python

Curso de Estructuras de Datos con Python

Progresa de listas a queues y linked lists usando Python. Crea estructuras de datos como arrays y nodos, optimiza procesos y desarrolla software eficiente aplicando stacks y queues. Ideal para quienes buscan manejar datos dinámicos.

Curso de Estructuras de Datos con Python
Curso de Estructuras de Datos con Python

Curso de Estructuras de Datos con Python

Progresa de listas a queues y linked lists usando Python. Crea estructuras de datos como arrays y nodos, optimiza procesos y desarrolla software eficiente aplicando stacks y queues. Ideal para quienes buscan manejar datos dinámicos.