堆排序,关于方法的实现涉及范围



范围(n,-1,-1(中的-1,-1做什么?我遇到过这种相同的模式和使用各种排序算法的实现,这让我很困惑。任何答案都将不胜感激!提前感谢-NewCoder

-示例代码-

def-build_max_heap(A(:

n = len(A)
for i in range(n, -1,-1):
max_heapify(A,n, i)
for i in range(n-1,0,-1):
A[0],A[i]=A[i],A[0]
max_heapify(A,i,0)

A=[33,35,42,10,7,8,14,19,48]

build_max_heap(A(

打印(A(

range的签名是range(start, stop[, step])

range(n, -1, -1)中的range函数接受3个参数:

"n"作为范围对象的起始索引

第一个"-1"作为范围对象的结束索引

第二个"-1"作为距离对象的移动步骤

所以range(n, -1, -1)的基本方法是构造一个序列[n,n-1,…,1,0]。

有关更多信息,请参阅Python Doc

最新更新