02/09/2008, 10:56
|
| | Fecha de Ingreso: agosto-2008
Mensajes: 161
Antigüedad: 16 años, 4 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 |