Druck Knoten aus eine einfach-verkettete Liste
Machte ich eine Knoten-Klasse, die eine LinkedList-Klasse. Gibt es eine Möglichkeit, ich kann drucken Sie Elemente in dieser Liste ? Ich habe meine print()
Methode, aber es gibt nur das erste element, die ist 21. Wie kann ich beim Durchlaufen dieser Liste ?
public class ListNode {
private int item;
private ListNode next;
public ListNode(int item, ListNode next){
this.item = item;
this.next = next;
}
public ListNode(int item){
this(item, null);
}
public int print(){
return item;
}
public static void main(String[] args) {
ListNode list = new ListNode(21, new ListNode(5, new ListNode(19, null)));
System.out.println(list.print());
}
}
Ihre
print()
Methode ist irreführend angesichts der aktuellen Umsetzung, es sollte aufgerufen werden getValue()
InformationsquelleAutor user2326847 | 2013-05-15
Du musst angemeldet sein, um einen Kommentar abzugeben.
Dann können Sie einfach tun
(Ich umbenannt in Ihrer Funktion von
print
zutoString
zu geben, eine genauere Beschreibung, was es tut)InformationsquelleAutor ValarDohaeris
Ihrer aktuellen Implementierung nicht alles drucken: es gibt einfach posten.
Mehr entsprechende Umsetzung würde wie folgt Aussehen:
Können Sie dann verwenden Rekursion, um zu drucken Sie alle Elemente:
danke, behoben
InformationsquelleAutor Vladimir
Erwägen, eine
printall
InformationsquelleAutor John B
Ihre
print()
Funktion ist wieder nur ein einzelnes Element, das ist, warum es ist nur Bedrucken, 21.Rufen rekursiv drucken Sie alle Werte, bis
next != NULL
InformationsquelleAutor goodies
Aufrufen
list.print()
nur immer wieder den Wert des Kopfes (21) - sind Sie nie machen jede Bezugnahme oder rufen Sie an den nächsten Knoten:next
.Ich persönlich würde entfernen Sie die print () - Methode und stattdessen überschreiben Sie toString():
Ich denke, Sie wollen wahrscheinlich nicht die null tail gedruckt, so ist dies wohl schöner:
Dann, main:
InformationsquelleAutor jayrobin
Können Sie mit einer foreach-Schleife:
Dadurch wird die Liste Durchlaufen und die Rückkehr am nächsten Objekt, auf diesem Objekt rufen wir die
print()
MethodeInformationsquelleAutor John Snow