Thread View: de.comp.lang.c++
4 messages
4 total messages
Started by SCHNIBBLE
Thu, 08 Feb 1996 05:42
Doppelt gekettete Liste ...
Author: SCHNIBBLE
Date: Thu, 08 Feb 1996 05:42
Date: Thu, 08 Feb 1996 05:42
20 lines
1240 bytes
1240 bytes
Hallo zusammen,
ich habe mich am 08.02.96 um 08:40 an die Muehle gehockt,
um folgendes loszuwerden...
Gibt es in C++ eine Möglichkeit doppelt gekettete Listen in einer Datei zu
speichern ?? Ein Listenelement besteht jeweils aus einigen Variablen,
sowie einem Zeiger auf den Vorgaenger und den Nachfolger .....
--
, ,
("\''/").___..--''"`-._
`9_ 9 ) `-. ( ).`-.__.`)
(_Y_.)' ._ ) `._ `. ``-..-'
_..`--'_..-_/ /--'_.' .
(il).-'' ((i).' ((!.-'
-------------------------------------------------------------------
<<<<< schnibble@alcatraz.org >>>>
-------------------------------------------------------------------
Re: Doppelt gekettete Liste ...
Author: Tom Wellige
Date: Fri, 09 Feb 1996 08:29
Date: Fri, 09 Feb 1996 08:29
31 lines
2014 bytes
2014 bytes
SCHNIBBLE wrote on 08.02.96 about "Doppelt gekettete Liste ...": S> Gibt es in C++ eine Moeglichkeit doppelt gekettete Listen in einer Datei zu S> speichern ?? Ein Listenelement besteht jeweils aus einigen Variablen, S> sowie einem Zeiger auf den Vorgaenger und den Nachfolger ..... Meines Erachtens ist es unsinnig, *alle* Daten Deines Listenelementes zu speichern. Es wnuetzt Dir nichts, die Zeiger zu speichern, da nach dem erneuten Einlesen der Datei die Listenelemente an einer anderen Stelle im Speicher liegen. Schreib doch einfach nur die Variablen hintereinander in eine Datei, und stell beim Einlesen dieser, die Verknuepfungen wieder her. Etwas aufwenidger wird dieses Verfahren, wenn Du nicht nur eine durchgaengige Liste hast, sondern evtl. einen kompletten Baum (mit einigen Querstraengen), aber auch dieses Problem laesst sich auf besagt Weise loesen. See you, Tom. -- +--------------------------+---------------------------------------------+ | Tom Wellige | BBS DISTEL (Dieburg, Germany) | | Haller Weg 64 | PICARD@distel.robin.de | | 33617 Bielefeld, GERMANY | Dublin Institute of Technology (Ireland) | | +49 521 152474 | TWELLIGE@dit.ie | | ** PGP key on request ** | http://147.252.133.152/people/twellige/ | +--------------------------+---------------------------------------------+ ## CrossPoint v3.1 R ##
Re: Doppelt gekettete Liste ...
Author: Ralf W. Stephan
Date: Fri, 09 Feb 1996 12:37
Date: Fri, 09 Feb 1996 12:37
17 lines
1052 bytes
1052 bytes
SCHNIBBLE@ALCATRAZ.org writes: > Gibt es in C++ eine Möglichkeit doppelt gekettete Listen in einer Datei zu > speichern ?? Ein Listenelement besteht jeweils aus einigen Variablen, > sowie einem Zeiger auf den Vorgaenger und den Nachfolger ..... In C++ ist fast alles möglich, nur muß der Weg vorgegeben werden. Wie wäre es, die Elemente speicherbar zu machen (mit einem friend ostream& operator<<(ostream&, Element&), wobei die Pointer ignoriert werden), und ebenso ein friend ostream& operator<<(ostream&, Dliste&) wo die Liste der Reihe nach durchgegangen wird? Die Vorgehensweise beim Laden bleibt dem Leser überlassen... ralf -- PGP: 1024/0xA713ECE9 2047/0xC8E605F5
Re: Doppelt gekettete Liste ...
Author: Walter Doerwald
Date: Fri, 09 Feb 1996 22:19
Date: Fri, 09 Feb 1996 22:19
35 lines
1309 bytes
1309 bytes
SCHNIBBLE schrieb in <62SwRlmilzB@olli.alcatraz.org> folgendes:
> Hallo zusammen,
>
> ich habe mich am 08.02.96 um 08:40 an die Muehle gehockt,
> um folgendes loszuwerden...
>
> Gibt es in C++ eine Möglichkeit doppelt gekettete Listen in einer Datei zu
> speichern ?? Ein Listenelement besteht jeweils aus einigen Variablen,
> sowie einem Zeiger auf den Vorgaenger und den Nachfolger .....
Mach's doch ganz einfach so:
template<class T> void List<T>::Write(ostream& s) const
{
s << AnzahlDerElemente << endl;
for (Listendurchlauf mit Nd)
s << *Nd << endl;
}
template<class T> void List<T>::Read(istream& s)
{
ListeLeerMachen();
long Anzahl;
for (s >> Anzahl;Anzahl;Anzahl--)
HintenAnhängen(new T(s));
}
Dazu müssen die Objekte in der Liste natürlich über ein stream-Konstruktor
(T::T(istream&)) verfügen.
Bis demnächst...
Walter Dörwald
Thread Navigation
This is a paginated view of messages in the thread with full content displayed inline.
Messages are displayed in chronological order, with the original post highlighted in green.
Use pagination controls to navigate through all messages in large threads.
Back to All Threads