Skip to content
Advertisement

Stackoverflow with Quicksort Java implementation

Having some problems implementing quicksort in java. I get a stackoverflow error when I run this program and I’m not exactly sure why. If anyone can point out the error, it would be great.

si is the starting index. ei is the ending index.

JavaScript

Advertisement

Answer

First you should fix the bounds of the qsort recursive call as suggested by Keith, since otherwise you’re always sorting the whole array over and over again. The you must adjust your partition loop: j is an index, going from the beginning of the subarray to the end of it (including the last element). So you must loop from si + 1 to ei (including ei).

So this is the corrected code. I ran a few test cases and it seems to sort just fine.

JavaScript
User contributions licensed under: CC BY-SA
10 People found this is helpful
Advertisement