Data Structures and Algorithms in Java
Data Structures and Algorithms in Java
6th Edition
ISBN: 9781118771334
Author: Michael T. Goodrich
Publisher: WILEY
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
Python - Need help! How do I have an input in turtle to display my name below the circle it draws and another input to display my age written below that? Code: import turtlebackground = "#FFFFFF" def draw_circle(radius, line_color, fill_color): my_turtle.color(line_color) my_turtle.fillcolor(fill_color) my_turtle.begin_fill() my_turtle.circle(radius) my_turtle.end_fill() def move_turtle(x, y): my_turtle.penup() my_turtle.goto(x, y) my_turtle.pendown() turtle.done()
Need help fixing my python code! Images attached on the required modficications I dont know how to do. Simpler the better.Code: (in images)
Answer all of the questions with steps by step explanation to every question.

Chapter 3 Solutions

Data Structures and Algorithms in Java

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