when the above code is executedit produces the following result[ insertion sort insertion sort involves finding the right place for given element in sorted list so in beginning we compare the first two elements and sort them by comparing them thenwe pick the third element and find its proper position among the previous two sorted elements this waywe gradually go on adding more elements to the already sorted list by putting them in their proper position def insertion_sort(inputlist)for in range( len(inputlist)) - nxt_element inputlist[icompare the current element with next one while (inputlist[jnxt_elementand ( > )inputlist[ + inputlist[jj= - inputlist[ + nxt_element list [ , , , , , , , insertion_sort(listprint(listwhen the above code is executedit produces the following result[ shell sort shell sort involves sorting elementswhich are away from each other we sort large sublist of given list and go on reducing the size of the list until all elements are sorted the below program finds the gap by equating it to half of the length of the list size and then starts sorting all elements in it thenwe keep resetting the gap until the entire list is sorted def shellsort(input_list)gap len(input_list/ while gap