# Append in Doubly LinkedList



## rogue (10. Mai 2011)

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.


```
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 (10. Mai 2011)

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 (10. Mai 2011)

Naja, schon alleine Zeilen 16 und 17 sind auffällig oder?

```
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 ?


----------

