Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Varios (https://www.clubdelphi.com/foros/forumdisplay.php?f=11)
-   -   Crear directorio con lista lineal (https://www.clubdelphi.com/foros/showthread.php?t=21042)

davitcito 04-05-2005 18:57:18

Crear directorio con lista lineal
 
Como podría crear una relacion de personas (solo nombre), con listas lineales y apuntadores y ordenarlas alfabéticamente? Gracias.

Neftali [Germán.Estévez] 05-05-2005 10:05:55

No me acaba de quedar claro del todo, ¿Puedes utilizar un TStringList ordenado?

Es una lista, está ordenada, puedes introducir el nombre y lo de lineal no lo he entendido (¿no lo son todas las listas?).

hermes_32 05-05-2005 10:12:06

Hola davitcito,

pues a mi me pasa como a Neftali, no me queda claro. Pero por lo que intuyo es que quieres visualizar los nombres de personas en una lista ordenada alfabeticamente.

Si es eso, si utilizas un TListBox puedes ordenarlos cambiando la propiedad Sorted a True.

Un saludo.

davitcito 05-05-2005 19:09:51

Buenas y gracias por las respuestas, pero a lo q yo me referia es a como puedo crear una LISTA ENLAZADA mediante la creación de nodos y apuntadores. Por ejemplo, acá tengo un algoritmo de referencia:
Metodo Insertarfinal(N) // incluye por el final
Apuntador nuevo, p // apuntan nodo
Reservar Nuevo
Nuevo.Num <-- N
Nuevo.si <-- Nil
si Inicio = NIL entonces
Inicio <-- Nuevo
sino
p <-- Inicio
Mientras p.sig <> Nil hacer
P <-- p.sig
fmientras
p.sig <-- Nuevo
fsi
fmetodo

Espero este claro este algoritmo, je je, y también espero me ayuden con la pregunta. Saludos.

Delphius 07-05-2005 07:20:01

Creo que es así...
 
Hace mucho que no hago uso punteros, y listas enlazadas.... pero sino me equivoco la solución pasa por esto:
Código Delphi [-]
Type
TLista = ^TNodo; // el símbolo ^ indica que es un puntero.
TNodo = record
Info: tipo_de_info;
sig: ^Nodo; // Esto permite hacer el recorrido y el "enlazamiento"
end;
var
Lista = TLista;
...
 
Para pedir memoria: New(p);
Para liberar memoria: Dispose(p);
p^.Info := // aquí va la info;
p^.sig := Nil;

Siendo p una variable de tipo TNodo.

Creo que con esto ya puedes comenzar.... Si tienes dudas ya avisaras....


La franja horaria es GMT +2. Ahora son las 00:48:22.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi