 
			
				02/09/2008, 10:56
			
			
			     |  
      |    |    |    Fecha de Ingreso: agosto-2008  
						Mensajes: 161
					  Antigüedad: 17 años, 2 meses Puntos: 0     |        |  
  |      Invertir lista circular        El problema es: 
Tengo una lista (clave) que apunta a una lista circular (valores), concretamente apunta a su último valor, éste al primero, éste al siguiente,(hasta llegar al último de nuevo). 
En realidad hay muchas claves y éstas tienen valores. Ej: 
clave(1)->1.01 
clave(2)->2.02->2.01->2.02 
clave(3)->3.03->3.02->3.01.->3.03   
He hecho éste código pero está mal...   
void ordenaValores(Tabla *tabla, funcionCompara fvalores){ 
NodoClave *claveAux; 
NodoValor *valorAux;   
claveAux=tabla->primero; 
valorAux = claveAux->ultimo->siguiente; 
while(claveAux != NULL){ 
while(claveAux->ultimo!= valorAux){ 
if(fvalores(valorAux, valorAux->siguiente)>0){ 
claveAux->ultimo=valorAux->siguien... 
} 
valorAux=valorAux->siguiente; 
} 
claveAux = claveAux->siguiente; 
}   
}   
Cómo se haría el código en C para invertir los valores de menor a mayor?         
					
						Última edición por una_xikilla; 02/09/2008 a las 11:03           |