Jag har kört fast. Jag lyckas inte lista ut var det blir fel någonstans. Jag försöker bygga en sorterad enkellänkad lista, och det är när jag försöker bygga metoden som lägger till element som allt går åt fanders. jag klipper in koden nedanför. 'head' är listans början.
Problemet uppstår vid while-loopen. Varför blir aldrig
falskt? Det ÄR ju bevisligen null (hm, eller jag tycker iaf att den borde vara) när "next" pekar på sista elementet, och då får jag ju också nullPointerException på den andra delen av while-vilkoret där jag testar nextnext's element.
Problemet uppstår vid while-loopen. Varför blir aldrig
Kod:
nextnext != null
Kod:
public boolean add(E element) {
if ( element == null )
throw new NullPointerException();
else {
if (head != null) {
Entry next = head;
Entry nextnext = next.next;
while (nextnext != null && element.compareTo(nextnext.element) < 0) {
next = nextnext;
nextnext = next.next;
}
next.next = new Entry(element,nextnext);
return true;
}
else {
head = new Entry(element, null);
return true;
}
}
} // add
Senast ändrad: