
Explanation of Solution
The algorithm to swap two nodes “x” and “y” in singly linked list “L” is given below:
Algorithm:
Input: Two nodes “x” and “y”.
Output: Swap the two nodes in singly linked list “L”.
swapSingly(x, y):
//Create a node to assign the head into it
Node n = head;
/*Loop executes until the next node of head is not equal to "x" node. */
while(n.getNext() != x)
/*Get next node of head and assign it into "n" node. */
n = n.getNext();
/*Get the next node of "y" node and assign it into "v" node. */
Node v = y.getNext();
/*Call setNext() method to set the next node as "y" node by using "n".*/
n.setNext(y);
/*Call setNext() method to set the next node as "x" node by using "y". */
y.setNext(x);
/*Call setNext() method to set the next node as "v" node by using "x". */
x.setNext(v);
Explanation:
In the above algorithm,
- This method accepts two input parameters such as “x” and “y”.
- Create new node “n” and “v” to hold nodes “x” and “y” from singly linked lists.
- The while loop executes until the next node of head is not equal to “x” node.
- Get next node of head and assign it into “n” node.
- Get the next node of “y” node and assign it into “v” node.
- Call setNext() method to set the next node as “y” node by using “n”.
- Call setNext() method to set the next node as “x” node by using “y”.
- Call setNext() method to set the next node as “v” node by using “x”.
- Finally, the two nodes “x” and “y” are swapped in singly linked list.
Algorithm to swap two nodes in doubly linked list:
The algorithm to swap two nodes “x” and “y” in singly linked list “L” is given below:
Algorithm:
Input: Two nodes “x” and “y”.
Output: Swap the two nodes in doubly linked list “L”.
swapDoubly(x, y):
/*Create a node to assign the previous node of "x" node into it...

Want to see the full answer?
Check out a sample textbook solution
Chapter 3 Solutions
Data Structures and Algorithms in Java
- C++ Programming: From Problem Analysis to Program...Computer ScienceISBN:9781337102087Author:D. S. MalikPublisher:Cengage LearningNew Perspectives on HTML5, CSS3, and JavaScriptComputer ScienceISBN:9781305503922Author:Patrick M. CareyPublisher:Cengage LearningProgramming Logic & Design ComprehensiveComputer ScienceISBN:9781337669405Author:FARRELLPublisher:Cengage
- Systems ArchitectureComputer ScienceISBN:9781305080195Author:Stephen D. BurdPublisher:Cengage LearningEBK JAVA PROGRAMMINGComputer ScienceISBN:9781337671385Author:FARRELLPublisher:CENGAGE LEARNING - CONSIGNMENTC++ for Engineers and ScientistsComputer ScienceISBN:9781133187844Author:Bronson, Gary J.Publisher:Course Technology Ptr




