Hi Leute,
sitze hier grad an meinen Übungsaufgaben. Dachte eigentlich ich habe sie verstanden, aber irgendwie geht grad gar nichts. Muss folgendes erreichen:
Ich soll einen ADT Interface mit doppelt verketteten Listen erstellen. Mit einfach verketteten habe ich. Versteh noch nich so ganz wie das mit den Zeigern funktioniert.
Also ein Listen Element (auch eine Liste, logisch) soll folgendermaßen aussehen:
Ein Verweis auf den Vorgänger - Inhalt des Elements - Verweis auf den Nachfolger
Der Konstruktor der Klasse Liste sieht bei mir jetzt so aus:
Stimmt das soweit mit der Beschreibung oben über ein? Dann soll ich noch ein Verweis auf das erste und Letzten setzen.
Ich weiß irgendwie nich, wie ich die Zeiger dann dann richtig auf Vorgänger und Nachfolger setze. Methoden insert und append sehen so aus, müssen dann natürlich irgendwie angepasst werden.
Kann mir vielleicht jemand kurz die beien Methoden erläutern besonderns append.
So das reicht glaube ich erst mal. Hoffe ihr könnt mir helfen! Ich weiß, dass Listen in Java schon fertig sind, aber wir sollen es selber programmieren!
sitze hier grad an meinen Übungsaufgaben. Dachte eigentlich ich habe sie verstanden, aber irgendwie geht grad gar nichts. Muss folgendes erreichen:
Ich soll einen ADT Interface mit doppelt verketteten Listen erstellen. Mit einfach verketteten habe ich. Versteh noch nich so ganz wie das mit den Zeigern funktioniert.
Also ein Listen Element (auch eine Liste, logisch) soll folgendermaßen aussehen:
Ein Verweis auf den Vorgänger - Inhalt des Elements - Verweis auf den Nachfolger
Der Konstruktor der Klasse Liste sieht bei mir jetzt so aus:
Code:
//....
//Datenfeld zugriff durch Methoden
private Element item;
//Zeigerfeld
private List vor;
private List next;
/**
* Konstruktor
* erzeugt leere Liste
* */
public List() {
vor = null;
item = null;
next = null;
}
//...
Stimmt das soweit mit der Beschreibung oben über ein? Dann soll ich noch ein Verweis auf das erste und Letzten setzen.
Ich weiß irgendwie nich, wie ich die Zeiger dann dann richtig auf Vorgänger und Nachfolger setze. Methoden insert und append sehen so aus, müssen dann natürlich irgendwie angepasst werden.
Code:
//...
/**Fügt x am Kopf ein, also am Anfang*/
public List insert(Element x) {
List l = new List();
l.item = x;
l.next = next;
next = l;
return this;
}
/**Hängt x ans Ende*/
public List append(Element x) {
if(isEmpty()) {
return insert(x);
}
else {
return next.append(x);
}
}
//...
Kann mir vielleicht jemand kurz die beien Methoden erläutern besonderns append.
So das reicht glaube ich erst mal. Hoffe ihr könnt mir helfen! Ich weiß, dass Listen in Java schon fertig sind, aber wir sollen es selber programmieren!