C/Visual C - Eliminar nodo de lista enlazada

 
Vista:

Eliminar nodo de lista enlazada

Publicado por eduado (82 intervenciones) el 20/03/2010 15:09:51
Hola a todos, estoy iniciándome con estructuras dinámicas y lo primero que intento es hacerme una lista enlazada de caracteres, pero estoy liado en la función eliminar. No sé como eliminar un nodo que contiene cierto dato. Si pudieran ayudarme por favor.

La estructura auto-referenciada tiene la sgte forma:
typedef struct nodoLista {
char dato;
struct nodoLista *ptrSiguiente;
} NodoLista;

y la función eliminar acepta como parámetro el caracter que buscará en cada nodo y donde encuentre el primer nodo que contenga dicho caracter, lo elimine.

char eliminar( NodoLista **ptrS, const char valor );

He encontrado info en la web pero sólo donde eliminan de una pila o cola pero no algo como esto. si podrían hecharme un cable por favor, gracias.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Eliminar nodo de lista enlazada

Publicado por jhon (5 intervenciones) el 27/03/2010 00:36:09
Postea lo que llevas, aki resolvemos dudas, no hacemos tareas.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Eliminar nodo de lista enlazada

Publicado por Tom (619 intervenciones) el 30/03/2011 12:43:23
while(nodoActual) {
if(nodoActual->ptrSiguiente->dato == test) {
struct nodoLista * tmp = nodoActual->ptrSiguiente->ptrSiguiente;
free(nodoActual->ptrSiguiente);
nodoActual->ptrSiguiente = tmp;
return;
} else {
nodoActual = nodoActual->ptrSiguiente;
}
}
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Eliminar nodo de lista enlazada

Publicado por azerus (1 intervención) el 19/09/2010 20:07:33
no se
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar