Einfügen in eine doppelt verkettete Liste

Y

yachty66

Mitglied
Ich komme im Code nicht mehr weiter, ich versuche ein Element in eine doppelt verkettete Liste einzufügen.

Java:
public class DoublyLinkedList<T> implements Listable<T> {

    private Node head = null;
    private Node tail = null;

    private class Node {
        T data = null;
        Node next = null;
        Node prev = null;
    }
    
    
    public void addTwo(T item) {
        Node newNode = new Node();
        newNode.data = item;
        newNode.next = null;
        newNode.prev = null;
        
        if (head == null && tail == null) {
            head = newNode;
            tail = newNode;
        }else {
            
        }
    }

Wenn der tail und head == 0 sind dann ist die Liste leer, soweit bin ich, allerdings, weiß ich nicht wie ich den Code schreiben sollte, wenn der tail und head != null sind.
 
kneitzel

kneitzel

Top Contributor
Hast du es einmal aufgezeichnet? Was hast du und was muss geändert werden?
Dabei sind dann auch so Dinge wichtig wie: wo soll denn eingefügt werden? Am Anfang? Am Ende?

Das kannst du aufzeichnen und dann erst mal in Worte packen: was muss alles geändert werden?
 
Y

yachty66

Mitglied
Ich habe einen Knoten A der in beide Richtungen verweist prev<--A-->next - in diesem Fall ist prev und next == null, weil es nur ein Element gibt was sich in der Liste befindet. prev<--A <-->B-->next - in diesem Fall ist prev von B != null, weil auf das Element A gezeigt wird. Wenn ich jetzt etwas einfügen möchte muss ich die Liste iterieren bis B next == null ist und dort muss dann das neue Element eingefügt werden. Oder? @kneitzel
 
kneitzel

kneitzel

Top Contributor
Also willst du am Ende einfügen. Du könntest durch die Liste iterieren um ans Ende zu kommen. Aber schau einfach noch einmal Deine Liste an. Evtl. gibt es ja noch eine andere Möglichkeit.
 
Y

yachty66

Mitglied
Folgend ist mein Code, bin mir allerdings unsicher, ob dies seinen Zweck erfüllt.

Java:
public void addTwo(T item) {
        Node newNode = new Node();
        newNode.data = item;
        newNode.next = null;
        newNode.prev = null;
        
        if (head == null && tail == null) {
            head = newNode;
            tail = newNode;
        }else {
            Node temp = head;
            while (temp.next != null) {
                temp = temp.next;
            }
            temp.next = newNode;
        }
    }
 
kneitzel

kneitzel

Top Contributor
Schau einfach einmal alle Instanzvariablen an:
- Haben alle Instanzvariablen der Liste den richtigen Wert?
- Haben alle Instanzvariablen der Beteiligten Nodes den richtigen Wert?

Das ist ja etwas, das du durchgehen kannst ...
 
Y

yachty66

Mitglied
Okay. Habe den Code noch einmal etwas umgeschrieben und er läuft auch, aber ich weiß nicht ob er korrekt ist;D
@kneitzel

Java:
public void add(T item) {
        Node newNode = new Node();
        newNode.data = item;
        newNode.next = null;
        newNode.prev = null;
      
        if (head == null) {
            newNode.prev = null;
            head = newNode;
            return;
      
        } else {
            Node last = head;
            while (last.next != null) {
                last = last.next;
            }
            last.next = newNode;
            newNode.prev = last;
        }
    }
 
Zuletzt bearbeitet:
Ähnliche Java Themen
  Titel Forum Antworten Datum
S Datenbank Tabelle eine Zeile an einer bestimmten Stelle einfügen Java Basics - Anfänger-Themen 2
E Datentypen Einfügen von Objekten in eine Map Java Basics - Anfänger-Themen 2
P Variablen Wie kann ich eine lokale Variable in eine andere Methode einfügen? Java Basics - Anfänger-Themen 27
A Objekte in eine Liste einfügen Java Basics - Anfänger-Themen 7
J Daten in eine JList einfügen Java Basics - Anfänger-Themen 6
I fertige xml-datein in eine noch aufzubauende xml-datei einfügen Java Basics - Anfänger-Themen 4
S Itext und eine neue Zeile einfügen Java Basics - Anfänger-Themen 2
A Problem beim einfügen in eine Datenbank Java Basics - Anfänger-Themen 2
M Einfügen von Daten in eine Tabelle Java Basics - Anfänger-Themen 9
K Einfügen in eine Liste Java Basics - Anfänger-Themen 4
J Eine swf-datei in einen Frame einfügen? Java Basics - Anfänger-Themen 6
G Eine art 'alert' fenster einfügen? Java Basics - Anfänger-Themen 9
G Wie kann ich eine verkettete Liste in ein JTable einfügen? Java Basics - Anfänger-Themen 7
J Objekte einer ArrayList in eine Tabelle einfügen Java Basics - Anfänger-Themen 2
G Bilder in eine Applikation einfügen Java Basics - Anfänger-Themen 9
districon Element in Liste einfügen Java Basics - Anfänger-Themen 1
Gaudimagspam Attribute einfügen private Java Basics - Anfänger-Themen 3
marcooooo Separator zwischen allen Zeichen eines Strings einfügen Java Basics - Anfänger-Themen 29
R Inventar und Items auf ein 2D ArrayFeld einfügen Java Basics - Anfänger-Themen 2
S Bild einfügen // NEU Java Basics - Anfänger-Themen 7
V_Fynn03 Erste Schritte Einen Wert in ein TextField einfügen aus einer anderen Klasse Java Basics - Anfänger-Themen 3
O Naives links rechts einfügen in ADT Baum Java Basics - Anfänger-Themen 8
O BinärBaum einfügen Java Basics - Anfänger-Themen 13
M Sqlite table löschen und daten einfügen Java Basics - Anfänger-Themen 5
M Erste Schritte Mit Variable verschiedene Texte in Textfeld einfügen Java Basics - Anfänger-Themen 27
M Klasse in JTable einfügen Java Basics - Anfänger-Themen 7
J In einer Klasse ein AlertDialog einfügen Java Basics - Anfänger-Themen 4
S Elemente in Liste einfügen Java Basics - Anfänger-Themen 2
S Interface (WindowBuilder) Panels in einen Frame einfügen Java Basics - Anfänger-Themen 10
x-tshainge Java Bilder einfügen Java Basics - Anfänger-Themen 1
T Variablen “ in String einfügen Java Basics - Anfänger-Themen 1
Orkanson Objekte in ein Array einfügen Java Basics - Anfänger-Themen 5
S Doppelte Liste Einfügen Java Basics - Anfänger-Themen 1
X Objekte in ArrayList einfügen Java Basics - Anfänger-Themen 10
jaleda100 JTextArea Zeile einfügen Java Basics - Anfänger-Themen 1
R Spielfeldbegrenzung einfügen (Java)? Brauche Hilfe! Java Basics - Anfänger-Themen 15
D B-Baum einfügen und löschen Java Basics - Anfänger-Themen 2
S Einfach verkettete Liste Element an bestimmter Position einfügen Java Basics - Anfänger-Themen 24
JavaNewbie2.0 Tausende Wörter in Arrays automatisch einfügen Java Basics - Anfänger-Themen 10
J Wie kann ich Images per Tastendruck anzeigen/einfügen? Java Basics - Anfänger-Themen 3
F In LinkedList einen Wert ersetzen oder neu einfügen Java Basics - Anfänger-Themen 7
C Verkettete Liste - sortiert einfügen Java Basics - Anfänger-Themen 7
J Scroll-Leiste einfügen Java Basics - Anfänger-Themen 12
U Sound einfügen Java Basics - Anfänger-Themen 6
P String zerstückeln und in Excel einfügen Java Basics - Anfänger-Themen 11
J Objecte in TreeSet einfügen klappt nicht Java Basics - Anfänger-Themen 5
S Bild einfügen Java Basics - Anfänger-Themen 16
D Taschenrechnerereignisse einfügen Java Basics - Anfänger-Themen 18
B Vererbung In offener Hash Tabelle einfügen Java Basics - Anfänger-Themen 4
W Listenelement einfügen Java Basics - Anfänger-Themen 9
P OOP Eingabevariablen der Klasse Raum in der Methode addEvent ans Ende einer ArrayList einfügen Java Basics - Anfänger-Themen 3
8 Eigenes Bild in email einfügen Java Basics - Anfänger-Themen 1
D Datenbankzugriff - Leere Zeile einfügen Java Basics - Anfänger-Themen 2
GadgetSofa IOException fehlt aber wo einfügen? Java Basics - Anfänger-Themen 6
K JTable Bild einfügen Java Basics - Anfänger-Themen 1
J Methoden Einfügen von Objekten nach Alphabet in ArrayList funktioniert nicht Java Basics - Anfänger-Themen 2
S jList --> Array einfügen und Liste löschen Java Basics - Anfänger-Themen 5
J Buchstabe (char) an zufällige Position eines Strings einfügen Java Basics - Anfänger-Themen 1
C Kalender in Applet einfügen Java Basics - Anfänger-Themen 0
M JFrame Bild einfügen Java Basics - Anfänger-Themen 3
D Bild in Frame einfügen Java Basics - Anfänger-Themen 11
F Collections Sortierung und Einfügen von Elementen Java Basics - Anfänger-Themen 1
K Erste Schritte Classe in andere Einfügen?? Java Basics - Anfänger-Themen 12
P Klasse in Klasse einfügen (arrayliste) Java Basics - Anfänger-Themen 7
F Bibliotheken einfügen ??? Java Basics - Anfänger-Themen 2
P Hintergrundbild in Swing einfügen Java Basics - Anfänger-Themen 3
T HashMap Werte einfügen, durchsuchen und auslesen Java Basics - Anfänger-Themen 17
K JTextField in ein Spiel einfügen Java Basics - Anfänger-Themen 2
Q Erste Schritte In CharArrayWriter Zeichen an Stelle einfügen Java Basics - Anfänger-Themen 4
J Neue Zeile an bestimmter Stelle in Textdatei einfügen Java Basics - Anfänger-Themen 2
D Durch Button klick wert in JTextField einfügen Java Basics - Anfänger-Themen 5
J Button in extra Klasse festlegen und in anderer Klasse einfügen? Java Basics - Anfänger-Themen 3
J GUI Button Klasse in anderer Klasse einfügen Java Basics - Anfänger-Themen 3
E HILFE Projekt für die Schule--> Bilder einfügen Java Basics - Anfänger-Themen 9
D 2 Fragen: Position ändern vs. LayoutManager / Bilder einfügen im Vordergrund Java Basics - Anfänger-Themen 3
D String aus txt in label für Tabelle einfügen Java Basics - Anfänger-Themen 8
A Aktuelles Datum einfügen.. Java Basics - Anfänger-Themen 4
N JTable - Zellfarben ändern, GUI-Komponenten in Zellen einfügen Java Basics - Anfänger-Themen 5
B Ordner in jar dateien einfügen Java Basics - Anfänger-Themen 4
S Erste Schritte Bluej Automatisches Einfügen von Objekten Java Basics - Anfänger-Themen 4
A String aus anderer Klasse in JTextArea einfügen Java Basics - Anfänger-Themen 7
J Bild einfügen Java Basics - Anfänger-Themen 3
S Musik einfügen funktioniert noch nicht Java Basics - Anfänger-Themen 6
K paint() mit einfügen Java Basics - Anfänger-Themen 14
A Sortiertes Einfügen in Liste Java Basics - Anfänger-Themen 2
B org.apache.commons.... Folder in Projekt einfügen Java Basics - Anfänger-Themen 6
Kenan89 String in ObjectList einfügen Java Basics - Anfänger-Themen 2
H Bilder im GUI einfügen Java Basics - Anfänger-Themen 12
A SwingX in Eclipse einfügen Java Basics - Anfänger-Themen 5
B Einfügen von Dateien Java Basics - Anfänger-Themen 10
M Java String " einfügen Problem Java Basics - Anfänger-Themen 2
M Video in ClassLoader einfügen Java Basics - Anfänger-Themen 7
P JPanel in JTable einfügen Java Basics - Anfänger-Themen 23
D Werte aus Excel in Diagramm einfügen Java Basics - Anfänger-Themen 6
K Fehler beim Einfügen eines Programm Icons Java Basics - Anfänger-Themen 6
Binary.Coder Vor und nach jeder Codezeile etwas einfügen Java Basics - Anfänger-Themen 3
D Input/Output Zeilen aus txt-datei in Java-Liste einfügen Java Basics - Anfänger-Themen 9
J JPG in einem Label einfügen und anzeigen lassen Java Basics - Anfänger-Themen 2
T Bild in JFrame einfügen Java Basics - Anfänger-Themen 2
L Element in Mitten eines Arrays einfügen Java Basics - Anfänger-Themen 3

Ähnliche Java Themen

Anzeige

Neue Themen


Oben