Archiv verlassen und diese Seite im Standarddesign anzeigen : Dynamische Datentypen und Ringliste
wenzi496
13.08.2004, 17:05
Hallöle,
kennt sich jemand mit dem thema dynamische datentypen(pointer) und ringlisten aus?
Mein problem ist, dass ich mit hilfe einer zählschleife eine bestimmte anzahl von zufälligen elementen als ringliste erzeugen und später natürlich auch ausgeben soll.
danke,
der wenzi
Diogenes
14.08.2004, 10:28
Wenn ich Dich richtig verstanden habe, ist das was Du eine Ringliste meinst, eine verkettete Liste, deren Ende auf den Anfang zeigt.
Du braucht natürlich einen Zeiger, der auf ein Element in der Liste zeigt, idealerweise an den Anfang.
Datentyp definieren:
type
PGlied=^TGlied;
TGlies=record
Date: TDaten;
ptNext: PGlied
end;
var
ptKette: PGlied;
ptKette fängt mit NIL an. Einfügen eines Elementes (es wird die Existenz einer Zeigervariablen ptNew vorausgesetzt, die ein neues Glied enthält):
if ptKette <> nil
then begin
ptNew^.ptNext := ptKette
ptKette^.ptNext := ptNew
end
else ptNew^.ptNext := ptNew;
ptKette := ptGlied;
Durchgehen durch die Liste;
ptCurrent := ptKette;
if ptKetter <> nil
then repeat
YourAction( ptCurrent); {z.B. Ausgabe}
ptCurrent := ptCurrent^.ptNext
until ptCurrent = ptKette;
So. das muß reichen.
wenzi496
14.08.2004, 11:00
erstmal vielen dank für die rasend schnelle hilfe ;)
ich werd ma mein hirn arbeiten lassen und gucken, was ich daraus machen kann...
bis dahin
bullshit
03.09.2004, 23:47
und ganz wichtig*lach*
immer einen zettel und stift bereit halten und die listen (doppelt einfach was auch immer) immer aufzeichnen und nicht einfach drauf losprogrammiern ;-)
see ya
bullshit
vBulletin® v3.8.6, Copyright ©2000-2012, Jelsoft Enterprises Ltd.