Fix tail recursion in _quick_sort_general

The `if` statement should have been a `for` loop, in order to allow recursively
sorting the subarrays with quicksort, and not resort to shell sort after
one step.
This commit is contained in:
Andrea Piseri
2022-04-13 10:55:16 +02:00
parent f6fa553572
commit a040be957f

View File

@@ -150,7 +150,7 @@ _quick_sort_general :: proc(data: $T/[]$E, a, b, max_depth: int, call: $P, $KIND
a, b, max_depth := a, b, max_depth
if b-a > 12 { // only use shell sort for lengths <= 12
for b-a > 12 { // only use shell sort for lengths <= 12
if max_depth == 0 {
heap_sort(data, a, b, call)
return