带有最终结果的插入排序算法问题


array=[7,2,4,1,5,3]
def insertion(a):
for i in range(1,len(array)):
value=a[i]
hole=i
while (hole>0 and a[hole-1]>value):
a[hole]=a[hole-1]
print(array)
hole=hole-1
a[hole]=value
insertion(array)

大家好,如果这是一个愚蠢的问题,很抱歉,但我找不到我的错误。输出似乎有问题。3似乎迷路了。我知道当有人向我指出这一点时,我会觉得很愚蠢。。

谢谢!

[7, 7, 4, 1, 5, 3]
[2, 7, 7, 1, 5, 3]
[2, 4, 7, 7, 5, 3]
[2, 4, 4, 7, 5, 3]
[2, 2, 4, 7, 5, 3]
[1, 2, 4, 7, 7, 3]
[1, 2, 4, 5, 7, 7]
[1, 2, 4, 5, 5, 7]
[1, 2, 4, 4, 5, 7]

def insertionSort(arr(:

for i in range(1, len(arr)): 
key = arr[i] 

j = i-1
while j >=0 and key < arr[j] : 
arr[j+1] = arr[j] 
j -= 1
arr[j+1] = key 

arr = [12, 11, 13, 5, 6] 
insertionSort(arr) 
print ("Sorted array is:") 
for i in range(len(arr)): 
print ("%d" %arr[i]
) 

最新更新