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 8R

Explanation of Solution

Method to find the middle node of doubly linked list:

This method moves right from head is assigned to middle node and at the same time moves left from tail is assigned to partner node.

  • If the middle and partner node is equal, then return the middle node.
  • If middle node is just next node of partner node, then it even number of elements. So, return the previous node of middle node.

Program:

//Define the middle() method

private Node<E> middle()

{

  //Check whether the list is empty

  if (size == 0)

  //Throw an exception

throw new IllegalStateException("List must not be empty");

  //Assign the next node of head to middle Node

  Node<E> middleNode = head−>next;

  //Assign the previous node of tail to partner Node

  Node<E> partnerNode = tail−>prev;

/*Loop executes until the middle node and partner node is not equal and next node of middle node and partner node is not equal. */

while (middleNode != partnerNode && middleNode−>next != partnerNode)

  {

  //Assign next node of middle node to middle node

  middleNode = middleNode.getNext();

/*Assign previous node of partner node to partner node...

Blurred answer
Students have asked these similar questions
(c) Consider the following set of processes: Process ID Arrival Time Priority Burst Time A 2 3 100 B 6 C 10 1 (highest) 2 40 80 D 16 4 (lowest) 20
(3c) In the following resource allocation graph, is the state a deadlocked one? If so which ones are deadlocked? (3 points) Resource allocation graph. R₁ = Resource, P = process. R1 R3 R3 7
What resources are used when a thread is created? How do these differ from those used when a process is created?
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
Systems Architecture
Computer Science
ISBN:9781305080195
Author:Stephen D. Burd
Publisher:Cengage Learning
Text book image
Programming Logic & Design Comprehensive
Computer Science
ISBN:9781337669405
Author:FARRELL
Publisher:Cengage
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