我有一個工作簡單的插入排序算法用Python編寫。我想要做的是將輸出並放在新的列表中,而不改變原始輸入列表。我一直在試圖弄清楚如何做到這一點,也許我只是在推翻它,但我想我會看看有沒有人可以幫忙。謝謝!插入排序算法修改輸出
#!/usr/local/bin/python
import sys
import random
def RandomArray(n, max):
A = []
i = 1
while i <= n:
v = random.randint(1, max+1)
if v not in A:
A.append(v)
i = i + 1
return A
A = RandomArray(10,100)
print(A)
def InsertionSort(A):
element = 1
for element in range(0, (len(A))):
w = A[element]
j = element - 1
while (j >= 0) & (A[j] > w):
A[j+1] = A[j]
j = j - 1
A[j+1] = w
return A
print(InsertionSort(A))
你被明確變異輸入數組 - 如果你不希望影響到原有的,必須通過副本('插入排序(A [:])')或重構功能相應。請注意,突變其輸入的函數應按照慣例返回「無」。 – jonrsharpe