-2
我想在ruby中实现quicksort算法,但是当我调用方法时,我当前遇到“堆栈级别太深”的错误。我认为它与无限循环有关,但我无法找到发生这种情况的位置,因为据我所知,确实指定了一个basecase。堆栈级别太深,quicksort实现
我的代码如下:
def partition(array, left, right)
pivot = array[right]
p_index = left
for i in left..right
if array[i] <= pivot
array[i], array[p_index] = array[p_index], array[i]
p_index += 1
end
end
return p_index
end
def quick_sort(array, left, right)
if left < right
return array if array.length <= 1
q = partition(array, left, right)
quick_sort(array, left, q - 1)
quick_sort(array, q + 1, right)
end
end
你的问题是什么? – sawa
我需要帮助修复错误? – manis
如果您需要修复错误的帮助,如果您提供了* entire *错误消息,那将会很不错。 –