def insertion_sort(L):
for i in range(1,len(L)):
x = i
while x > 0 and L[x-1] >= L[x]:
x -= 1
value = L[i]
del L[i]
L.insert(x,value)
a = [5,2,6,3,1,8]
print "Before: ", a
insertion_sort(a)
print "After: ", a
По какой-то причине список не отсортирован должным образом. Я не могу найти ошибку здесь.Алгоритм сортировки вставки не работает
Обратите внимание, что если вы не делаете это чисто для практики цели, вы, вероятно, следует использовать модуль Bisect: https://docs.python.org/2.7/library/ bisect.html – vermillon