Autor
|
Tema: Ciclos for en listas (Leído 730 veces)
|
Beginner Web
Desconectado
Mensajes: 557
youtu.be/0YhflLRE-DA
|
Alguien podria explicarme que es lo que hacen estos ciclos en las siguientes listas? LISTAS SIMPLES for(i=lista;!=NULL;i=i->sig);
for(i=lista.inicio;i->sig!=NULL;i=i->sig); i->sig=nuevo;
for(i=lista.inicio;(i->sig)->sig!=lista.inicio;i=i->sig);
El ultimo es de una lista circular simple con dos punteros al inicio y al final
|
|
|
En línea
|
{_id: "5ef16999f6ce240abc225ss3", nombre: "Ana Keldysh", nacionalidad: "Argentina", edad: "17", profesion: "Desarrollador Web Full Stack, pero la verdad hago de todo.", "__v": 0 }
|
|
|
MAFUS
Desconectado
Mensajes: 1.479
|
1. De estar bien construida, i apunta al final de la lista. Pero justo con este código i valdrá NULL.
2. Añade al final de la lista el nuevo dato.
3. i apunta al último elemento, justo antes de que la lista de una vuelta entera.
|
|
|
En línea
|
while(is_alive(yourself)) { make_true(yourself, yourdreams); }
|
|
|
Beginner Web
Desconectado
Mensajes: 557
youtu.be/0YhflLRE-DA
|
Y este ultimo? for(i=lista.inicio;(i->sig)->sig!=NULL;i=i->sig);
|
|
|
En línea
|
{_id: "5ef16999f6ce240abc225ss3", nombre: "Ana Keldysh", nacionalidad: "Argentina", edad: "17", profesion: "Desarrollador Web Full Stack, pero la verdad hago de todo.", "__v": 0 }
|
|
|
MAFUS
Desconectado
Mensajes: 1.479
|
Es parecido a este for(i=lista.inicio;(i->sig)->sig!=lista.inicio;i=i->sig);
Si cambias lista.inicio por NULL ¿qué crees que quiere decir?
|
|
|
En línea
|
while(is_alive(yourself)) { make_true(yourself, yourdreams); }
|
|
|
Beginner Web
Desconectado
Mensajes: 557
youtu.be/0YhflLRE-DA
|
Este ultimo ciclo lo que hace es ir comparando desde el segundo elemento en la primera pasada, pero en la segunda pasada lo hace con el tercero o el cuarto elemento? en eso me pierdo un poquillo 
|
|
|
En línea
|
{_id: "5ef16999f6ce240abc225ss3", nombre: "Ana Keldysh", nacionalidad: "Argentina", edad: "17", profesion: "Desarrollador Web Full Stack, pero la verdad hago de todo.", "__v": 0 }
|
|
|
jca1
Desconectado
Mensajes: 24
|
En el segundo reseteas todos los nodos a `nuevo` excepto el inicial. En el tercer codigo te recorre toda la lista hasta el anteultimo valor inclusivemente ya que pregunta si el sig del sig es igual a lista—>inicio. Y el ultimo haria lo mismo y se usaria en una lista no ciclica, llegaria dentro del for hasta el anteultimo, y cuando sale i = anteultimo nodo; lo mismo para ambos casos
|
|
« Última modificación: 13 Septiembre 2018, 03:27 am por jca1 »
|
En línea
|
|
|
|
|
|