AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Object-Pascal / Delphi-Language Delphi Schnellste und einfachste Methode für verkettete Liste
Thema durchsuchen
Ansicht
Themen-Optionen

Schnellste und einfachste Methode für verkettete Liste

Ein Thema von Andreas L. · begonnen am 12. Mär 2008 · letzter Beitrag vom 17. Mär 2008
 
Benutzerbild von jfheins
jfheins

Registriert seit: 10. Jun 2004
Ort: Garching (TUM)
4.579 Beiträge
 
#3

Re: Schnellste und einfachste Methode für verkettete Liste

  Alt 13. Mär 2008, 18:07
Wenn du so einen Baum speichern willst, solltest du so eine Art Inhaltsverzeichnis anlegen

Also: Jeder Knoten hat einen Namen, Daten und X Kindknoten.

Also machst du sowas:

Code:
"Knoten1"$Adresse,2;"UnterknotenVon1Nr1"$Adresse,1;"UnterknotenVon11"$Adresse,0;"Unterknoten2"$Adresse,0;"Knoten2"$adresse,0
Bei diesem Format speicherst du also den Namen, die Adresse (in der Datei) und die Anzahl der Kinder. Anhand dieser Daten kannst du das ganze wieder zusammenfriemeln.

Oder du machst die Datei direkt Rekursiv, so wie das hier. Das ist ein Ausschnitt aus einer Terminverwaltung, die ich mal in Java geschrieben habe. Das ist kein Programmcode, sondern die gespeicherte "Datenbank". Das ganze wurde dann von einer Klasse eingelesen und rekursiv wieder in eine Baumstruktur umgewandelt
Code:
new TYearly{
   Title="My Birthday";
   Priority=30;
   DaysInAdvance=1;
   Description="My Birthday ...";
   StartDate=new TDate{
      Year=2007;
      Month=3;
      Day=16;
      Time=null;
   };

   EndDate=new TDate{
      Year=2026;
      Month=3;
      Day=16;
      Time=null;
   };

   Day=12;
   Month=3;
};

new TAppointment{
   Title="Meeting with Dr. Suthers";
   Priority=15;
   DaysInAdvance=4;
   Description="This is a sample appointment.";
   Date=new TDate{
      Year=2007;
      Month=3;
      Day=24;
      Time=null;
   };

};

new TAppointment{
   Title="English Essay ";";;"";
   Priority=12;
   DaysInAdvance=7;
   Description="This is the english essay about "The Outsider"";
   Date=new TDate{
      Year=2007;
      Month=3;
      Day=16;
      Time=null;
   };

};

new TWeekly{
   Title="Guitar lesson";
   Priority=10;
   DaysInAdvance=3;
   Description="This is my Weekly guitar lesson, every Friday at 10:15";
   StartDate=new TDate{
      Year=2007;
      Month=1;
      Day=1;
      Time=null;
   };

   EndDate=new TDate{
      Year=2007;
      Month=5;
      Day=23;
      Time=null;
   };

   DayOfWeek=4;
   Time=new TTime{
      Hour=16;
      Minute=15;
   };

};

new TWeekly{
   Title="Sport Session";
   Priority=8;
   DaysInAdvance=3;
   Description="";
   StartDate=new TDate{
      Year=2007;
      Month=1;
      Day=2;
      Time=null;
   };

   EndDate=new TDate{
      Year=2007;
      Month=4;
      Day=20;
      Time=null;
   };

   DayOfWeek=1;
   Time=null;
};

new TWeekly{
   Title="Sport Session";
   Priority=8;
   DaysInAdvance=5;
   Description="";
   StartDate=new TDate{
      Year=2007;
      Month=1;
      Day=4;
      Time=null;
   };

   EndDate=new TDate{
      Year=2007;
      Month=4;
      Day=20;
      Time=null;
   };

   DayOfWeek=5;
   Time=null;
};

new TAppointment{
   Title="Economics past paper";
   Priority=7;
   DaysInAdvance=8;
   Description="This is a back\nentry.";
   Date=new TDate{
      Year=2007;
      Month=3;
      Day=25;
      Time=null;
   };

}
P.S. da wo Time=null steht, hätte man natürlich noch ein Time-Objekt einfügen können - theoretisch ist die Rekursionstiefe nicht begrenzt ^^
  Mit Zitat antworten Zitat
 


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 02:42 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz