def insertion_sort(A):
for j in range(1, len(A)):
key = A[j]
i = j - 1
while (i >= 0) and (A[i] > key):
A[i+1] = A[i]
i = i-1
A[i+1] = key
return A
print insertion_sort([8, 1, 3, 4, 9, 5, 2])
Run Code Online (Sandbox Code Playgroud)
现在打印: [8, 1, 3, 4, 9, 5, 2]
但我假设,我正在改变列表A,那么为什么返回值相同?
您当前的缩进代码是错误的.它应该是这样的,对吗?
def insertion_sort(A):
for j in range(1, len(A)):
key = A[j]
i = j - 1
while (i >= 0) and (A[i] > key):
A[i+1] = A[i]
i = i-1
A[i+1] = key
return A
Run Code Online (Sandbox Code Playgroud)