doppelt verkettete Listen?

Status
Nicht offen für weitere Antworten.

mobile

Bekanntes Mitglied
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:

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!
 
G

Guest

Gast
So ungefähr kann deine doppelt verkettete Liste aussehen.
Code:
public class DoubleLinkedList<T> implements List<T>
{
   private ListItem<T> root;
   private int size;

   ...

   private class ListItem<T>
   {
      public ListItem<T> previous;
      public ListItem<T> next;
      public T value;
   }
}
Den Rest kannst du dir selbst überlegen.
 
G

Gast

Gast
Ja, aber das Problem liegt denk ich daran dass er probleme hat bei der insert methode. Er weiss nicht wie er Zeiger auf das vorherige element setzen kann dort. Leider kann ich dir auch nicht helfen dabei da ich das gleiche problem habe.

public List insert(Element x) {
List l = new List();
l.item = x;
l.next = next;
l.prev = this;
next = l;
return this;
}


Das funktioniert schonmal nicht, der prev zeiger ist immer null. :( wenn einer Rat weiss bitte helfen.
 
G

Guest

Gast
Gast hat gesagt.:
Das funktioniert schonmal nicht, der prev zeiger ist immer null. :( wenn einer Rat weiss bitte helfen.
Denke an eine Menschenkette. Jeder hält mit einer Hand seinen Vorgänger und mit der anderen den Nachfolger.
Ist nur einer da bzw. erst einer da, kann er die Hände zusammenlegen und sich zum Vorgänger und Nachfolger
von sich selbst erklären. ;)
 
G

Guest

Gast
Übrigens, eine geschlossene Menschenkette, da es eine doppelt verkettete Liste ist.
 
G

Gast

Gast
Hallo,
Es mach wenig sinn das alles in die Liste.class reinzupacken, du solltest lieber eine zusätzliche Klasse namesn Knoten verwenden die den Inhalt der Elemente und den Vorgänger/Nachfolger enthalten.
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
M doppelt verkettete Listen Allgemeine Java-Themen 2
L Doppelt Verkettete Listen Allgemeine Java-Themen 6
Z Sortiertes Einfügen in doppelt verkettete Liste Allgemeine Java-Themen 5
R doppelt verkettete Liste: Fehler beim Einfügen Allgemeine Java-Themen 3
chik Doppelt verkettete Liste bzw. Zirkulärliste (kleiner Fehler, den ich nicht finde) Allgemeine Java-Themen 4
F Doppelt verkettete Liste sortieren? Allgemeine Java-Themen 8
J Doppelt verkettete Liste Allgemeine Java-Themen 6
N warum wird es doppelt ausgegeben Allgemeine Java-Themen 6
P Erstelltes Programm ist doppelt so groß Allgemeine Java-Themen 11
S If-Menü wird doppelt ausgegben Allgemeine Java-Themen 4
D "Paste" String doppelt Allgemeine Java-Themen 14
D Methoden Buttons erscheinen doppelt nach Wiederholung in Schleife Allgemeine Java-Themen 1
Sin137 Interface Eingabe wird doppelt angezeigt Allgemeine Java-Themen 2
O Sax-Parser ließt XML-File doppelt Allgemeine Java-Themen 1
J Fragen zu generischer doppelt verketteter Liste (bei fehlendem Grundverständnis) Allgemeine Java-Themen 1
N Fehler abfang läuft doppelt durch Allgemeine Java-Themen 2
ARadauer Random keine Zahlen doppelt Allgemeine Java-Themen 4
M Alles doppelt in Eclipse syntaxhilfe Allgemeine Java-Themen 6
C Vier Stellen Keine Doppelt (Zufall) Allgemeine Java-Themen 20
G Array doppelt verkettet? Allgemeine Java-Themen 6
L doppelt gelinkte liste /getFirst/removeFirst/clear/Remove Allgemeine Java-Themen 2
S Thread wird nach erneutem Instanzieren doppelt gestartet!? Allgemeine Java-Themen 4
I Doppelt verkette Listen Allgemeine Java-Themen 2
M einfach verkettete Liste verstehen Allgemeine Java-Themen 23
K verkettete Liste Allgemeine Java-Themen 3
OSchriever Einfach verkettete Liste ändern Allgemeine Java-Themen 43
K Einfache Verkettete Liste mit Node Allgemeine Java-Themen 3
S Verkettete (Teil)Liste sortieren ( rekursiv bis n) Allgemeine Java-Themen 2
T Verkettete Suche Allgemeine Java-Themen 6
J Rekursion oder Iteration - verkettete Listen Allgemeine Java-Themen 8
L verkettete Listen oder Arrays + Indexlisten effizienter? Allgemeine Java-Themen 3
D Einfach verkettete Liste Allgemeine Java-Themen 3
X einfach verkettete Liste und Insertion Sort Allgemeine Java-Themen 3
R Verkettete Liste Allgemeine Java-Themen 5
E Verkettete Listen Allgemeine Java-Themen 5
M Schlange als verkettete Liste Allgemeine Java-Themen 4
D Zwei Listen vergleichen Allgemeine Java-Themen 7
L Listen Allgemeine Java-Themen 3
F Verständnisprobleme Aufgabenstellung Aktionsobjekte und generische Listen Allgemeine Java-Themen 1
E Listen in Java aneinanderfügen, subtrahieeren usw. Allgemeine Java-Themen 14
C Fehler beim Debuggen von Listen Allgemeine Java-Themen 4
J Mit Referenzen verkettet Listen. Allgemeine Java-Themen 9
S Intressante Benchmark-Ergebnisse mit Listen. Weiss jemand wie man diese erklaeren kann? Allgemeine Java-Themen 15
D Best Practice Die niedrigste Differenz zwischen zwei Listen ermitteln. Allgemeine Java-Themen 10
F Listen - Mehrere Objekte Allgemeine Java-Themen 1
P Listen sortieren Allgemeine Java-Themen 1
RalleYTN Collections Verständnisfrage zu Objektreferenzen in Listen Allgemeine Java-Themen 5
C Listen Allgemeine Java-Themen 1
M liste von listen anders ausgeben Allgemeine Java-Themen 1
W Sortierte Listen - Methode suchen Allgemeine Java-Themen 17
W Sortierte Listen mit Polymorphismus Allgemeine Java-Themen 6
S Permutation und Listen Allgemeine Java-Themen 2
P Doppeltverkettete Listen + Text Allgemeine Java-Themen 5
A Java Projekt (Daten Eingeben, Speichern und in Listen Ausgeben) Allgemeine Java-Themen 6
F JAXB / Listen durchlaufen Allgemeine Java-Themen 17
T Drucken von variabel langen Listen (es kommen nur leere Seiten raus) Allgemeine Java-Themen 2
F Vergleich zweier Listen Allgemeine Java-Themen 4
T Synchronisation von Listen bei Zugriffen durch mehrere Prozesse Allgemeine Java-Themen 15
D variabler Listen name Allgemeine Java-Themen 3
V Drucken von Listen Allgemeine Java-Themen 6
S Doppelte Werte in Listen,Vectoren etc suchen Allgemeine Java-Themen 2
M Addieren von Listen Allgemeine Java-Themen 2
F Objekte oder besser ID in Listen speichern? Allgemeine Java-Themen 2
S Mehrere Listen ineinander verschachteln Allgemeine Java-Themen 22
S Alle Elemente von zwei Listen vergleichen Allgemeine Java-Themen 10
R Objektsynchronisierung zweier Listen?!?! Allgemeine Java-Themen 2
H Listen Allgemeine Java-Themen 5
G Datenstruktur: LISTEN Allgemeine Java-Themen 7
J Verschachtelte ListIteratoren um in zwei Listen hin und herzugehen Allgemeine Java-Themen 5
C Problem Methoden, Klassen, Listen Allgemeine Java-Themen 27
K Listen,Bäume,Mengen Allgemeine Java-Themen 3
S Hinzufügen von Elementen zu Listen Allgemeine Java-Themen 4
A zwei listen vergleichen und unterschiede anzeigen Allgemeine Java-Themen 3
D Listen / Datenstrukturen und ein blutiger Anfänger Allgemeine Java-Themen 7
J Zwei sortierte Listen zusammenfassen Allgemeine Java-Themen 8
T Problem mit Listen Allgemeine Java-Themen 8
B binarysearch bei listen mit klassen Allgemeine Java-Themen 4
F Problem mit Java Listen Allgemeine Java-Themen 4
D Listen von Generischen Typen inkl. Vererbung Allgemeine Java-Themen 2
C Listen in Java. Anehängter Code nicht ganz klar Allgemeine Java-Themen 19
M objekt mit listen Allgemeine Java-Themen 5
G Domainen crawlen & Domainnamen listen -> LANGSAM! Allgemeine Java-Themen 19
M Listen Problem! Allgemeine Java-Themen 26
M Serialisierte listen ausgeben? Allgemeine Java-Themen 6
F 2 Varianten für synchronisierten Zugriff auf Listen Allgemeine Java-Themen 2
L Welche Collection ist die richtige ? Listen mergen Allgemeine Java-Themen 3
G Synchronisierte Listen. ein Graus Allgemeine Java-Themen 4
M Verknüpfung von Listen Allgemeine Java-Themen 3
S Frage zu ArrayList mit Listen Allgemeine Java-Themen 8
S Fragen zu 4 speziellen Listen Allgemeine Java-Themen 4
D Listen Allgemeine Java-Themen 4
M sortierte listen Allgemeine Java-Themen 5

Ähnliche Java Themen

Neue Themen


Oben