Was sind Listen?
-
Als ich hier das Thema über die Listen gesehen habe, ist mir wieder eingefallen, das wir das ja im Unterricht bald machen wollen images/smiles/icon_sad.gif . Da wollt ich mal wissen, was das überhaupt ist.
Ich hab nämlich noch nie etwas davon gehört. images/smiles/icon_confused.gif
-
Vielleicht hilft das: http://www.bfe.uni-bremen.de/intlab/hofmeier/ctxt/www.c-plus-plus.de/verkettete_liste.html
-
Ich hab mir es mal durchgelesen. Scheint mir ziemlich einfach zu sein. Aber können die Speicherstellen nicht überschrieben werden? Ich meine jetzt von ganz anderen Variablen oder Programmen. Weil doch nur ein Zeiger auf diese Speicherstelle zeigt. Dieser Speicher ist doch aber nicht allociert oder vorher irgendwie festgelegt worden.
-
Das macht new.
Element *pNeuesElement=new Element;
Jetzt steht in pNeuesElement die Adresse von einem Stück Speicher, das mit new gerade allokiert wurde. Der Speicher ist dabei als reserviert markiert worden und new wird dieses Stück Speicher nicht mehr rausgeben. Erst wenn man ihn mit delete wieder deallokiert, kann er wieder von new allokiert werden.
-
Das war aber C++. In C nimmt man malloc() statt new.
-
OK, dann noch zwei Unklarheiten: Du schreibst doch
Zitat: "Und zum Schluß kann die Variable pNeuesElement wieder gelöscht werden."
Meinst du damit, wenn man die Liste nicht mehr braucht oder wenn ein weiterer Eintrag der Liste hinzugefügt wurde?In C nimmt man doch anstatt Klassen structuren, oder?
-
Original erstellt von D. Schumann:
**OK, dann noch zwei Unklarheiten: Du schreibst doch
Zitat: "Und zum Schluß kann die Variable pNeuesElement wieder gelöscht werden."
Meinst du damit, wenn man die Liste nicht mehr braucht oder wenn ein weiterer Eintrag der Liste hinzugefügt wurde?In C nimmt man doch anstatt Klassen structuren, oder?**
Ja, das muß erstmal unterschieden werden.
Die Variable pNeuesElement kann weg. Sie hat sich nur die Adresse kurz gemerkt. Jetzt merkt sich der Vorgängerknoten die Adresse und die Variable pNeuesElement kann weg.
Nicht aber der Speicher, wo pNeuesElement hinzeigt! Der ist ab jetzt ordentlicher Teil der Liste.Ja, in C nimmt man struct.
-
Danke, habs verstanden. images/smiles/icon_cool.gif
Und wieder werde ich im Unterricht nichts neues dazulernen images/smiles/icon_wink.gif