gpt4 book ai didi

python - 难以实现 QuickSort

转载 作者:塔克拉玛干 更新时间:2023-11-03 03:37:44 24 4
gpt4 key购买 nike

我已经尝试实现快速排序大约 2 天了(看来我的编程技能越来越生疏了)。我不知道我做错了什么。我快要放弃了,所以我想我应该咨询论坛。

这是我试图在 python 中实现的代码。但它没有给出预期的结果。谁能指出我做错了什么?

def QuickSort(A,p,r):

if p < r:
pivotIndex = Partition(A,p,r)
QuickSort(A,p,pivotIndex-1)
QuickSort(A,pivotIndex+1,r)
return A
def Partition(A,p,r):

m = A[p]
i = p+1
for j in range( p+1 , r ):
if A[j] < m:
A[j] , A[i] = A[i] , A[j]
i+=1
A[p], A[i-1] = A[i-1] , A[p]
return i-1

测试输入的输出是:

>>>QuickSort([9,8,7,6,5,4,3,2,1],0,9)
[1, 3, 5, 6, 7, 4, 8, 2, 9]

如果有人帮助我实现这个,我将非常感激。

问候

最佳答案

切片不会返回原始列表的 View ;它根据旧列表中的数据创建一个新列表。这意味着对 QuickSort 的递归调用不会更改原始列表。

关于python - 难以实现 QuickSort,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17659974/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com