Club Delphi  
    Paypal   FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Otros temas > La Taberna
Registrarse FAQ Miembros Calendario Guía de estilo Buscar Temas de Hoy Marcar Foros Como Leídos

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 05-10-2024
navbuoy navbuoy is offline
Miembro
 
Registrado: mar 2024
Posts: 360
Poder: 3
navbuoy Va por buen camino
lo de enlaza creo que se refiere al campo "sexo"

Ejemplo de lista enlazada sin punteros explícitos usando clases:

Código:
type
  TNode = class
    Data: Integer;
    Next: TNode;  // Aquí seguimos apuntando al siguiente nodo, pero sin punteros explícitos
  end;

  TLinkedList = class
  private
    Head: TNode;
  public
    procedure AddNode(Value: Integer);
    procedure PrintList;
    procedure Clear;
  end;

Implementación de métodos:

Código:
procedure TLinkedList.AddNode(Value: Integer);
var
  NewNode: TNode;
begin
  // Creamos un nuevo nodo
  NewNode := TNode.Create;
  NewNode.Data := Value;
  NewNode.Next := Head;  // El nuevo nodo apunta a la cabeza actual
  Head := NewNode;       // La cabeza ahora es el nuevo nodo
end;

procedure TLinkedList.PrintList;
var
  Current: TNode;
begin
  Current := Head;
  while Current <> nil do
  begin
    WriteLn(Current.Data);  // Mostramos el dato actual
    Current := Current.Next; // Avanzamos al siguiente nodo
  end;
end;

procedure TLinkedList.Clear;
var
  Temp: TNode;
begin
  while Head <> nil do
  begin
    Temp := Head;
    Head := Head.Next;
    Temp.Free;  // Liberamos la memoria del nodo
  end;
end;

ejemplo de Uso:

Código:
var
  List: TLinkedList;
begin
  List := TLinkedList.Create;

  List.AddNode(10);
  List.AddNode(20);
  List.AddNode(30);

  List.PrintList;  // Muestra 30, 20, 10

  List.Clear;      // Limpia la lista y libera memoria

  List.Free;       // Libera la instancia de la lista
end.

Última edición por navbuoy fecha: 05-10-2024 a las 11:40:00.
Responder Con Cita
  #2  
Antiguo 07-10-2024
Avatar de Al González
[Al González] Al González is offline
In .pas since 1991
 
Registrado: may 2003
Posts: 5.610
Poder: 32
Al González Es un diamante en brutoAl González Es un diamante en brutoAl González Es un diamante en brutoAl González Es un diamante en bruto
navbuoy: Aunque no sea un puntero explícito, sigue siendo un puntero. Todas las referencias a instancias de clases Delphi lo son. :-)

Ñuño: ¿en qué fase de comprensión vas? Yo no entendí nada todavía pero ¿cuál es tu duda medular? ¿Puedes reducirla a su mínima expresión? Tal vez me anime a echarle un vistazo con calma en estos días.

Edito: Bueno, agregaría que al parecer el registro contiene un campo que indica su posición en una matriz unidireccional (vulgarmente conocida como "arreglo"), y eso, un índice por elemento (persona), es suficiente para que pueda conocerse, a partir de un registro, cuál es el siguiente o el anterior registro de la matriz. Diría que tiene la ventaja de que con un solo campo de tipo Integer puedes "enlazar" al registro predecesor y al registro sucesor, cosa que en otros escenarios vemos resuelto con el uso de dos campos punteros en cada record (necesitando más memoria).

Un confuso abrazo.

Al González.
Responder Con Cita
Respuesta


Herramientas Buscar en Tema
Buscar en Tema:

Búsqueda Avanzada
Desplegado

Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
punteros pepe_baile C++ Builder 4 24-07-2016 11:19:57
Punteros kotai Varios 1 09-08-2010 16:26:34
uso de punteros David OOP 19 14-12-2009 09:48:37
C++ y los punteros marcoszorrilla La Taberna 3 02-06-2008 18:31:11
Punteros davitcito Varios 2 25-04-2005 22:46:24


La franja horaria es GMT +2. Ahora son las 18:23:21.


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