A more challenging solution to Programming Project 17.13, but one that is more efficient if it is difficult to copy the contents of one node to another (e.g., if there is a big array or lots of variables we need to copy in a node), is to swap pointers to adjacent nodes instead of the content of the adjacent nodes. Modify the sort to operate that way.
For example, we swap the nodes with 15 and 25 in the linked list below:
Make Node 15’s next point to Node 25
Make Node 25’s previous point to Node 15
Make Node 25’s next point to Node 50
Make Node 15’s previous point to Node 10
Make Node 50’s previous point to Node 25
Make Node 10’s next point to Node 15
The end result, with the arrows cleaned up:
Watch out for null pointer errors (likely when you are at the front or end of the list).
We need at least 10 more requests to produce the solution.
0 / 10 have requested this problem solution
The more requests, the faster the answer.