Insertion Sort(One's Digit) of List in Python

Write a program to read a list containing 3-digit integers only. Then write an insertion sort function that sorts the list on the basis of one's digit of all elements. That is, if given list is: [387, 410, 285, 106] then the sorted list (as per above condition) should be : [410, 285, 106, 387] One's digits are in sorted order (0, 5, 6, 7)

PYTHON PROGRAMMING

Raki Adhikary

1/30/20231 min read

# Function to perform insertion sort based on the one's digit of all elements

def insertion_sort_by_ones_digit(arr):

for i in range(1, len(arr)):

key = arr[i]

j = i - 1

key_ones_digit = key % 10 # Extract the one's digit of the current element

# Compare the one's digit of the current element with the previous ones

while j >= 0 and arr[j] % 10 > key_ones_digit:

arr[j + 1] = arr[j]

j -= 1

arr[j + 1] = key

# Read a list containing 3-digit integers only

input_list = [int(x) for x in input("Enter a list of 3-digit integers separated by spaces: ").split()]

# Perform insertion sort based on the one's digit of all elements

insertion_sort_by_ones_digit(input_list)

# Print the sorted list

print("Sorted list based on one's digit of all elements:")

print(input_list)

Your Code is here