Ver Mensaje Individual
  #8 (permalink)  
Antiguo 07/05/2010, 16:19
sam90
 
Fecha de Ingreso: abril-2010
Ubicación: Rosario
Mensajes: 1.850
Antigüedad: 14 años
Puntos: 228
Respuesta: Ordenar listas alfabeticamente

Lo que tenes que ordenar son los nodos segun las cadena...no solo intercambiar la cadena.

Supongamos que tenes una lista de este tipo:
[A] -> [B]

Tengo el puntero p que apunta al nodo A. Entonces quiero ingresar el nodo C.
auxiliar = p->sig
p->sig = C;
C->sig = auxiliar


Como veras la primer instruccion hace que en auxiliar se guarde B (El siguiente de A). Despues hacemos que el siguiente de p sea C Y por ultimo hacemos que el siguiente de C sea B. Entonces la lista seria:

[A] -> [C] -> [B]

Pues ahora lo que tendrias que hacer es crear tu nodo a insertar....despues recorrer la lista nodo a nodo comparando con la funcion strcmp y cuando te de que la que vas a insertar menor la insertas. En esta parte deberias llevar un puntero auxiliar que siempre tenga el nodo anterior al que estas comparando, porque cuando el strcmp te diga que lo tenes insertar te pasaste uno..

Espero que se entienda....sino te sigo profundizando mas en el codigo