Test Foro de elhacker.net SMF 2.1

Programación => Programación C/C++ => Mensaje iniciado por: Beginner Web en 15 Septiembre 2018, 06:13 AM

Título: Lista simple eliminar nodo segun un valor
Publicado por: Beginner Web en 15 Septiembre 2018, 06:13 AM
Buenas no entiendo el comportamiento de este procedimiento y mas precisamente en el ciclo for

Código (cpp) [Seleccionar]
typedef struct tnodo *pnodo;//Estructura de la lista
typedef struct tnodo{
int dato;
pnodo sig;
};

pnodo quitar_nodo(pnodo &lista, int valor)//Metodo quitar nodo
{
pnodo borrado, i;
if(lista==NULL){
borrado=NULL;
}
else{
if(lista->dato==valor){
borrado=lista;
lista=borrado->sig;
borrado->sig=NULL;
}
else{
for(i=lista;i->sig!=NULL && valor!=(i->sig)->dato;i=i->sig);//De aqui en adelante no lo tengo bien en claro, se como lo hace pero el codigo me es incomprensible
if(i->sig!=NULL){
borrado=i->sig;
i->sig=borrado->sig;
borrado->sig=NULL;
}
else{
borrado=NULL;
}
}
}
return borrado;
}

Alguien que me lo explique en cristiano por favor?  ;-)
Título: Re: Lista simple eliminar nodo segun un valor
Publicado por: 6666 en 15 Septiembre 2018, 07:39 AM
Por que no pruebas c++, no entiendo por que renegador con esto, incluso aprender RUST es una buena opcion, la vision de ver objetos es una de las grandes ideas en la programacion, con c++ creas listas y no haces este proceso, usas for o while, incluso otras formas, si sos un programador, entonces la mejor opcion para tener una version concreta de las cosas es c#.
Título: Re: Lista simple eliminar nodo segun un valor
Publicado por: Beginner Web en 15 Septiembre 2018, 09:00 AM
 ;-)