How to implement insertion sort in Python

2 Answers

0 votes
def insertion_sort(lst):
    size = len(lst)
    
    for i in range(1, size):
        while lst[i - 1] > lst[i] and i > 0:
            lst[i-1], lst[i] = lst[i], lst[i-1]
            i -= 1

lst = [2, 141, 3, 4, 21, 98, 13, 30, 50]

insertion_sort(lst)

print(lst)



'''
run:

[2, 3, 4, 13, 21, 30, 50, 98, 141]

'''

 



answered Feb 23, 2024 by avibootz
0 votes
def insertion_sort(lst):
    size = len(lst)
    
    for i in range(1, size):
        key = lst[i]
  
        j = i - 1
        while j >= 0 and key < lst[j]:
            lst[j + 1] = lst[j]
            j -= 1
        lst[j + 1] = key

lst = [2, 141, 1, 3, 4, 21, 98, 13, 30, 50]

insertion_sort(lst)

print(lst)



'''
run:

[1, 2, 3, 4, 13, 21, 30, 50, 98, 141]

'''

 



answered Feb 23, 2024 by avibootz

Related questions

1 answer 137 views
137 views asked Feb 23, 2024 by avibootz
1 answer 162 views
162 views asked Jun 1, 2019 by avibootz
1 answer 211 views
211 views asked Sep 14, 2014 by avibootz
1 answer 157 views
1 answer 224 views
...