Konvertieren eines Arrays in eine LinkedList
Ich habe ein array von Zeichen, und ich bin versucht zu konvertieren jedes Zeichen in einem Knoten, der links zu den nächsten Knoten in der Leitung. Das problem ist, dass ich immer wieder in Endlosschleifen und ich habe keine Ahnung, warum. Hier ist mein code:
String map = "ABBACBCCA";
char[] charArray = map.toCharArray();
ListNode head;
ListNode temp;
ListNode next;
for (int i = 0; i < charArray.length - 1; i++) {
temp = new ListNode(charArray[i]);
next = new ListNode(charArray[i+1]);
temp.next = next;
if (i == 0) {
head = temp;
}
}
Und die ListNode-Klasse sieht wie folgt aus:
class ListNode<T> {
public T data = null;
public ListNode next = null;
public ListNode(T data) {
this.data = data;
}
}
Es sieht aus wie es wird die Letzte iteration der for-Schleife und dann in einer Endlosschleife gefangen.. Wer weiß, warum?
Verwenden Sie einen debugger.
Es gibt keinen Beweis für die
Es gibt keinen Beweis für die
infinite loop
. Den nur Schleife (for-Schleife über die charArray
scheint zu Ende. Anderen als, der code ist natürlich falsch.
InformationsquelleAutor Clinton Jooooones | 2013-10-23
Du musst angemeldet sein, um einen Kommentar abzugeben.
Für beginnt, würde ich denken, Sie wollen würde:
werden
Etwas anderes aufgefallen:
Ich glaube nicht, dass dies geht, um das hervor, was Sie wollen. Es wird nicht geben Sie Einen->B->B->etc etc. mehr über ihn geben würde ->->B, B->B etc etc. Nicht sicher, ob das, was Sie sind nach.
Mehr über ich denke, das sollte get ya gut:
Im Grunde erstellen und link und erstellen und verknüpfen. (getestet, in Ordnung für mich) Eingehende hässlich!
LOL ich kenne dieses Gefühl!!
Wie Sot sagte. Versucht es läuft mit dem Debugger in Eclipse. Es sollte funktionieren.
Ich war mit dem debugger sieht alles gut aus, bis es zur letzten iteration dann geht es einfach in einer endlos-Schleife
bekam, etwas anderes zu sein bekommen Sie. Ich tippte es in, lief. Kein problem. Ich würde empfehlen, nur die Eingabe dies erneut all-in. Manchmal ist der beste Weg, um zu gewinnen das AH-HA moment.
InformationsquelleAutor Jason McD
Verwenden des Debuggers ist Ihre beste Wette, wenn Sie wollen, entwickeln Sie weiterhin Ihren eigenen code. Sie sollten wahrscheinlich einige öffentliche Methoden, um das nächste element der Linkliste Knoten, wie ich es getan habe in diesem Beispiel. Erklären würde sehr lange dauern, also hier ist der code.
InformationsquelleAutor Barun
Ihre Referenz-Variablen temp & next zugewiesen sind neue Objekte, die während jeder iteration, und Sie verlieren den überblick über Ihre nächsten Zeiger. Sie könnten herausgefunden haben, das problem mit dem debugger, wie andere vorgeschlagen. Hier ist das Beispiel.
InformationsquelleAutor Chinmay
Dies ist wahrscheinlich eine der einfacheren Möglichkeiten, um Ihre Link-Liste:
Während die Pflege Ihrer Typ-Parameter überall
Nicht zu erwähnen, dass Sie voll nutzen können Java-api ' s:
Auch eine Schleife durch Ihre
ListNode
's, Sie könnten auch hinzufügen:Mit folgenden änderungen:
So können Sie es verwenden, wie folgt:
oder sogar
Gut ... war das nicht eine schöne Reise durch Javaland?
InformationsquelleAutor YoYo