# insertion sort python program
def insertion_sort(array):
for i in range(1, len(array)):
j = i
while j > 0 and array[j-1] > array[j]:
array[j], array[j-1] = array[j-1], array[j]
j = j - 1
return array
array = [40, 30, 50, 10, 20]
print("Array before the Insertion Sort :", array)
sorted_array = insertion_sort(array)
print("Array after the Insertion Sort :", sorted_array)
IyBpbnNlcnRpb24gc29ydCBweXRob24gcHJvZ3JhbQoKZGVmIGluc2VydGlvbl9zb3J0KGFycmF5KToKICAgIGZvciBpIGluIHJhbmdlKDEsIGxlbihhcnJheSkpOgogICAgICAgIGogPSBpCiAgICAgICAgd2hpbGUgaiA+IDAgYW5kIGFycmF5W2otMV0gPiBhcnJheVtqXToKICAgICAgICAgICAgYXJyYXlbal0sIGFycmF5W2otMV0gPSBhcnJheVtqLTFdLCBhcnJheVtqXQogICAgICAgICAgICBqID0gaiAtIDEKICAgIHJldHVybiBhcnJheQoKYXJyYXkgPSBbNDAsIDMwLCA1MCwgMTAsIDIwXQpwcmludCgiQXJyYXkgYmVmb3JlIHRoZSBJbnNlcnRpb24gU29ydCA6IiwgYXJyYXkpCgpzb3J0ZWRfYXJyYXkgPSBpbnNlcnRpb25fc29ydChhcnJheSkKCnByaW50KCJBcnJheSBhZnRlciB0aGUgSW5zZXJ0aW9uIFNvcnQgOiIsIHNvcnRlZF9hcnJheSk=
Array before the Insertion Sort : [40, 30, 50, 10, 20]
Array after the Insertion Sort : [10, 20, 30, 40, 50]