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

C++ Programming: From Problem Analysis to Program Design
8th Edition
ISBN:9781337102087
Author:D. S. Malik
Publisher:D. S. Malik
Chapter17: Linked Lists
Section: Chapter Questions
Problem 18PE
icon
Related questions
Question
100%

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

Expert Solution
trending now

Trending now

This is a popular solution!

steps

Step by step

Solved in 2 steps

Blurred answer
Knowledge Booster
Linked List Representation
Learn more about
Need a deep-dive on the concept behind this application? Look no further. Learn more about this topic, computer-science and related others by exploring similar questions and additional content below.
Similar questions
  • SEE MORE QUESTIONS
Recommended textbooks for you
C++ Programming: From Problem Analysis to Program…
C++ Programming: From Problem Analysis to Program…
Computer Science
ISBN:
9781337102087
Author:
D. S. Malik
Publisher:
Cengage Learning