UTNianos

Versión completa: [Duda] Algoritmos - Listas
Actualmente estas viendo una versión simplificada de nuestro contenido. Ver la versión completa con el formato correcto.
Me dan una lista y me van ingresando valores por teclado que hacen que se me modifique la lista.
Necesito imprimir la lista ordenada por X y por Y.
Como puedo hacer para ordenar la lista de vuelta por X (principal) y luego por Y?

Listas paralelas? (si es asi..como?)

Gracias!!

Pd: tengo que imprimir 30 caracteres en blanco, como hago?
Lo que se me viene a la mente principalmente, es armar una lista de listas.

Es decir, la lista principal contiene nodos que tengan

1) El valor X (es el que se utiliza como ordenamiento)
2) El puntero al siguiente
3) El puntero a una sublista (es la que está ordenada por el parámetro Y)
4) El resto de la información que tengas que poner...

Entonces a la hora de imprimir, cada vez que sacás un nodo de la lista principal, recorrés la sublista, y terminado el problema.

Para insertar, tanto en la lista principal como en las sublistas, podés utilizar el método "Busca o Inserta"

Espero haberte podido ayudar, si querés puedo ser más específica pero pasame medianamente el ejercicio, así vemos si hay restricciones y cosas por el estilo.

Saludos!
Che Aye,pero me parece que lo que quiere decir es que necesita una lista ordenada por dos valores.
En ese caso tenés que hacer una modificación en el procedimiento meternodo,para que en vez de insertar los nodos por un valor solo,te los inserte por uno y desempata por el otro.
Sería:



if (q^.info<X AND q^.info<Y AND p<>nil)
begin
q:=p;
p:=p^.sgte;
end;



Asi los va insertando ordenados y los tenés por X y por Y.
Nota:lo que quote no es toda la función meternodo sino la parte que recorre la lista para buscar en donde poner el nodo.
Cualquier cosa chifla.
podrias postear el enunciado? que es X? que es Y?

saludos!
Estuve tratando de hacer el final del 6 de marzo de 2010.
Viene un archivo ordenado por nombre de equipo y me ingresan por teclado un nuevo partido disputado lo que me obliga a modificar la lista que creé primero.
Me pide listar la tabla de posiciones ordenada por puntos y nombre de equipo con algunos datos más.

Debería reordenar la lista por el campo total de puntos, se entiende?

Saludos!
Para,no te entiendo del todo.
¿Que tipo de datos tiene la lista? ¿Registros de partidos?
¿Podrías subir el enunciado del final?
URLs de referencia