小编use*_*418的帖子

快速排序python递归

这是我的快速排序代码,该partition函数运行良好,但我在调用递归时遇到了问题.在pos每次启动该功能,然后将列表限制更改以及时间的变化.如何解决?

def partition(lst, start, end):

    pos=0
    if len(lst)<2:
        return 
    for i in range(len(lst[start:end])):
        if lst[i] < lst[end]:
            lst[i],lst[pos]=lst[pos],lst[i]
            pos+=1

        elif i==(len(lst[start:end])-1):
            lst[end],lst[pos]=lst[pos],lst[end]

    return pos

def quick_sort_recursive(lst, start, end):

        pos=partition(lst, start, end)
    if start<=pos<=end :
        quick_sort_recursive(lst, start, pos-1)
        quick_sort_recursive(lst, pos+1, end)
    else:
        return lst
Run Code Online (Sandbox Code Playgroud)

python sorting recursion quicksort

1
推荐指数
1
解决办法
1万
查看次数

标签 统计

python ×1

quicksort ×1

recursion ×1

sorting ×1