For a linked version of insertion sort, since there is no movement of data, there is no need to start searching at the end of the sorted sublist. Instead, we shall traverse the original list, taking one entry at a time and inserting it in the proper position in the sorted list. The pointer variable last_sorted will reference the end of algorithm the sorted part of the list, and last_sorted->next will reference the first entry that has not yet been inserted into the sorted sublist. We shall let first_unsorted also point to this entry and use a pointer current to search the sorted part of the list to find where to insert *first_unsorted. If *first_unsorted belongs before the current head of the list, then we insert it there. Otherwise, we move current down the list until first_unsorted->entry <= current->entry and then insert *first_unsorted before *current. To enable insertion before *current we keep a second pointer trailing in lock step one position closer to the head than current. implement given statements
For a linked version of insertion sort, since there is no movement of data, there
is no need to start searching at the end of the sorted sublist. Instead, we shall
traverse the original list, taking one entry at a time and inserting it in the proper
position in the sorted list. The pointer variable last_sorted will reference the end of
algorithm the sorted part of the list, and last_sorted->next will reference the first entry that
has not yet been inserted into the sorted sublist. We shall let first_unsorted also
point to this entry and use a pointer current to search the sorted part of the list to
find where to insert *first_unsorted. If *first_unsorted belongs before the current
head of the list, then we insert it there. Otherwise, we move current down the
list until first_unsorted->entry <= current->entry and then insert *first_unsorted
before *current. To enable insertion before *current we keep a second pointer
trailing in lock step one position closer to the head than current.
implement given statements
Trending now
This is a popular solution!
Step by step
Solved in 2 steps