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])
現在這個打印:[8, 1, 3, 4, 9, 5, 2]
python如何從函數返回列表?傳遞的列表是不可變的?
但我相信,我是變異的列表中,那麼爲什麼返回值是否相同?
請在問題中修復代碼中的縮進。目前你的第一個for循環只是簡化爲'key = A [len(A)-1]'。我希望你的實際問題不只是縮進(如果是的話,修復)。 – ccoakley 2012-02-25 07:06:06
如果'insertion_sort()'在原地修改了'A',那麼它應該返回'None'來表示。比較'list.sort()'和'sorted()'。 – jfs 2012-02-25 07:13:27