Ver Mensaje Individual
  #5 (permalink)  
Antiguo 03/09/2008, 19:00
yackcae
 
Fecha de Ingreso: junio-2008
Mensajes: 63
Antigüedad: 16 años, 6 meses
Puntos: 2
Respuesta: Invertir lista circular

Creo que hay unos problemas, al invertir los valores y en el for, prueba esto a ver si te sirve:

Código:
do {
	fin=0;
	valorAux=claveAux; // valorAux debe ser el primer elemento en la lista
	/* Ahora se recorre la lista ordenándola, hasta el último eslabón de la lista,
	en este caso el último eslabón es claveAux->ultimo. */
	for (valorAux; valorAux!=claveAux->ultimo; valorAux=valorAux->sig) {
		if (fvalores (valorAux->valor, valorAux->siguiente->valor)<0) {
			fin=valorAux->valor; // Uso fin como variable temporal
			valorAux->valor=valorAux->siguiente->valor;
			valorAux->siguiente->valor=fin;
			fin=1;
		}
	}
} while(fin==1);

Última edición por yackcae; 03/09/2008 a las 19:05