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 26C

Explanation of Solution

Algorithm to concatenate two doubly linked list:

The algorithm to concatenate two doubly linked list “L” and “M” into single list “L'” is given below:

Algorithm:

Input: Two doubly linked list “L” and “M”.

Output: Concatenate the two doubly linked lists into single list “L'”.

Concatenate(L, M):

  //Create new nodes

  Create a new node "n" and "v"

/*Get previous node for trailer of list "L" using getPrev() method and assign into "n". */

  n = (L.getTrailer()).getPrev()

/*Get next node for header of list "M" using getNext() method and assign into "v" */

  v = (M.getHeader()).getNext()

// Set next node for header of list "M" as "null"

  (M.getHeader()).setNext(null)

//Set previous node for trailer of list "L" as "null"

  (L.getTrailer()).setPrev(null)

/*Call setNext() method by passing the "v" node to set the next node as "v". */

  n.setNext(v)

/*Call setPrev() method by passing the "n" node to set the previous node as "n". */

  v.setPrev(n)

  //Assign the concatenated list into single list "L'"

  L' = L

/*Set trailer for list "L'" by calling setTrailer() method by passing parameter as "trailer of list "M"...

Blurred answer
Students have asked these similar questions
What are the conditions for testing whether a linked list T is empty, if T is a(i) simple singly linked list, (ii) headed singly linked list, (iii) simple circularlylinked list or (iv) headed circularly linked list?
Implement a function to insert a node at the end of a doubly linked list. Explain the steps involved and analyze the time complexity of your implementation.
Given a singly linked list of integers, reverse the nodes of the linked list 'k' at a time and return its modified list. 'k' is a positive integer and is less than or equal to the length of the linked list. If the number of nodes is not a multiple of 'k,' then left-out nodes, in the end, should be reversed as well.Example :Given this linked list: 1 -> 2 -> 3 -> 4 -> 5 For k = 2, you should return: 2 -> 1 -> 4 -> 3 -> 5 For k = 3, you should return: 3 -> 2 -> 1 -> 5 -> 4 Note :No need to print the list, it has already been taken care. Only return the new head to the list. Input format :The first line contains an Integer 't' which denotes the number of test cases or queries to be run. Then the test cases follow. The first line of each test case or query contains the elements of the singly linked list separated by a single space. The second line of input contains a single integer depicting the value of 'k'. Remember/Consider :While specifying the list…
Knowledge Booster
Background pattern image
Similar questions
SEE MORE QUESTIONS
Recommended textbooks for you
Text book image
Database System Concepts
Computer Science
ISBN:9780078022159
Author:Abraham Silberschatz Professor, Henry F. Korth, S. Sudarshan
Publisher:McGraw-Hill Education
Text book image
Starting Out with Python (4th Edition)
Computer Science
ISBN:9780134444321
Author:Tony Gaddis
Publisher:PEARSON
Text book image
Digital Fundamentals (11th Edition)
Computer Science
ISBN:9780132737968
Author:Thomas L. Floyd
Publisher:PEARSON
Text book image
C How to Program (8th Edition)
Computer Science
ISBN:9780133976892
Author:Paul J. Deitel, Harvey Deitel
Publisher:PEARSON
Text book image
Database Systems: Design, Implementation, & Manag...
Computer Science
ISBN:9781337627900
Author:Carlos Coronel, Steven Morris
Publisher:Cengage Learning
Text book image
Programmable Logic Controllers
Computer Science
ISBN:9780073373843
Author:Frank D. Petruzella
Publisher:McGraw-Hill Education