2016-08-24 2 views
0

Ich bin mir nicht ganz sicher, warum meine Merge-Sortierung-Implementierung einen Stackoverflow-Fehler erhält. Ich habe den Code mehrmals überprüft, aber ich verstehe nicht, warum das passiert. Ich habe versucht, zu debuggen, hatte aber Probleme zu verstehen, warum sich die Werte 0 und 4 (der erste und letzte Index des Arrays) niemals ändern, wenn ich den Code durchlaufe. Und dann wirft es schließlich den Stapelüberlauffehler.Java-Mergesort-Implementierung mit einem Stackoverflow-Fehler

Antwort

1

Der erste rekursive Aufruf von Mergesort (Zeile 17?) Sollte "Start, Mitte", nicht "Start, Ende" verwenden. Das bringt dich in eine endlose Schleife, so dass du irgendwann keinen Stack mehr hast.

Vertrauen Sie Ihrem Debugger.

+0

OMG, ich kann nicht glauben, dass ich das übersehen habe! – user836087

+0

Vielen Dank !! – user836087