Data Structures and Algorithms in Java
Data Structures and Algorithms in Java
6th Edition
ISBN: 9781119278023
Author: Michael T. Goodrich; Roberto Tamassia; Michael H. Goldwasser
Publisher: Wiley Global Education US
Expert Solution & Answer
Book Icon
Chapter 3, Problem 27C

Explanation of Solution

Algorithm to swap two nodes in singly 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 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...

Blurred answer
Students have asked these similar questions
I need help creating the network diagram and then revising it for the modified activity times.
Activity No. Activity Time (weeks) Immediate Predecessors 1 Requirements collection 3 2 Requirements structuring 4 1 3 Process analysis 3 2 4 Data analysis 3 2 5 Logical design 50 3,4 6 Physical design 5 5 7 Implementation 6 6 c. Using the information from part b, prepare a network diagram. Identify the critical path.
Given the following Extended-BNF grammar of the basic mathematical expressions:  Show the derivation steps for the expression: ( 2 + 3 ) * 6 – 20 / ( 3 + 1 ) Draw the parsing tree of this expression. SEE IMAGE
Knowledge Booster
Background pattern image
Similar questions
SEE MORE QUESTIONS
Recommended textbooks for you
Text book image
C++ Programming: From Problem Analysis to Program...
Computer Science
ISBN:9781337102087
Author:D. S. Malik
Publisher:Cengage Learning
Text book image
New Perspectives on HTML5, CSS3, and JavaScript
Computer Science
ISBN:9781305503922
Author:Patrick M. Carey
Publisher:Cengage Learning
Text book image
Programming Logic & Design Comprehensive
Computer Science
ISBN:9781337669405
Author:FARRELL
Publisher:Cengage
Text book image
Systems Architecture
Computer Science
ISBN:9781305080195
Author:Stephen D. Burd
Publisher:Cengage Learning
Text book image
EBK JAVA PROGRAMMING
Computer Science
ISBN:9781337671385
Author:FARRELL
Publisher:CENGAGE LEARNING - CONSIGNMENT
Text book image
C++ for Engineers and Scientists
Computer Science
ISBN:9781133187844
Author:Bronson, Gary J.
Publisher:Course Technology Ptr