Append in Doubly LinkedList

rogue

Mitglied
Hallo,

ich hab ein Problem mit meiner LinkedList-Implementierung. Ich schaffe es nicht die Zeiger richtig zu setzen. Ich wollte fragen was ich falsch mache.

Java:
public void append(int a){ // Appends a new element to the list containing the the given integer value a. The appended element is considered to be the last element.

        Element temp = new Element(a);

         if (size == 0){

            first = temp;
            size++;

        }

        else {

           last.prev = last.next;
            last = last.next;
            last = temp;

            size++;

    }

    }
    }
 

XHelp

Top Contributor
Wohin soll denn das letzte Element zeigen?
Da es eine doppelt verkettete Liste ist, sollte der Nachfolger vom ursprünglich letztem Element auf temp zeigen und der Vorgänger von temp auf das ursprünglich letzte Element.
 

eRaaaa

Top Contributor
Naja, schon alleine Zeilen 16 und 17 sind auffällig oder?
Java:
            last = last.next;
            last = temp;

Du hast am Ende ein Element X das einen Vorgänger und einen Nachfolger hat, welche auch immer. Was musst du jetzt alles tun wenn du am Ende was neues einfügen willst?
Mals dir doch mal Stück für Stück auf. Wie sieht deine Liste (bzw. das Ende) nach jedem Schritt aus ?
 

Neue Themen


Oben