<P> List insertion sort is a variant of insertion sort . It reduces the number of movements . </P> <P> If the items are stored in a linked list, then the list can be sorted with O (1) additional space . The algorithm starts with an initially empty (and therefore trivially sorted) list . The input items are taken off the list one at a time, and then inserted in the proper place in the sorted list . When the input list is empty, the sorted list has the desired result . </P> <P> The algorithm below uses a trailing pointer for the insertion into the sorted list . A simpler recursive method rebuilds the list each time (rather than splicing) and can use O (n) stack space . </P>

Write an algorithm of insertion sort in descending order