将递归替换为while循环

时间:2014-10-02 17:24:24

标签: python loops recursion while-loop

我试图修改这个递归快速排序,以便不使用递归,而是使用while循环,我需要帮助。

def quicksort(array):
    less = []
    equal = []
    greater = []

    if len(array) > 1:
        i = array[0]
        for j in array:
            if j < i:
                less.append(j)
            if j == i:
                equal.append(j)
            if j > i:
                greater.append(j)
        return quicksort(less)+quicksort(equal)+quicksort(greater)  
    else:
        return array

def main():
    array=eval(input("Input the numbers you want to be sorted, in a random order: "))
    print(quicksort(array))
main()

0 个答案:

没有答案