Проблема алгоритма вставки сортировки с конечным результатом - PullRequest
0 голосов
/ 15 марта 2020
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]

1 Ответ

0 голосов
/ 24 марта 2020

def вставка сортировки (обр):

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]

) 
...