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 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.
Computer Science please solve this problem as soon as possible Write a function to insert the element into the linked list the given number X. E.g., for a given set of integers, [2, 4, 12, 6, 5, 3], the linked list is 2->4->12->6->5->3. For a given number, (X=15), the count will be 11 that are (2,4), (2,12), (2,6), (2,5), (2,3), (4,6), (4,5), (4,3), (6,5), (6,3), (5,3).
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