Starting Out with Java: From Control Structures through Data Structures (4th Edition) (What's New in Computer Science)
Starting Out with Java: From Control Structures through Data Structures (4th Edition) (What's New in Computer Science)
4th Edition
ISBN: 9780134787961
Author: Tony Gaddis, Godfrey Muganda
Publisher: PEARSON
Expert Solution & Answer
Book Icon
Chapter 19, Problem 2AW

Explanation of Solution

Method definition for “reverse()”:

The method definition for “reverse()” is given below:

/* Method definition for "reverse()" */

public void reverse()

{

    //Create a list "rev_list" and set it to "null"

    Node rev_list = null;

/* This loop will perform up to the first node equals to "null" */

    while (first != null)

    {

/* Move a node to rev_list from what leftovers of the original list */

        /* Set a reference "ref" to first node */

        Node ref = first;

        /* Set "first" to next first node */

        first = first.next;

        /* Set next node to "rev_list" */

        ref.next = rev_list;

        /* Set the "rev_list" to reference "ref" */

        rev_list = ref;

    }

    /* Make the list "rev_list" as the new list */

    first = rev_list;

}

Explanation:

From the above method definition,

  • Create a list “rev_list” and then set it to “null”.
  • Performs “while” loop. This loop will perform up to the first node becomes “null”.
    • Set a reference “ref” to first node.
    • Set “first” to next value of “first”.
    • Assign next node to “rev_list”.
    • Assign the “rev_list” to reference “ref”.
  • Finally make the list “rev_list” as new list.

Complete code:

The complete executable code for “reverse()” method is given below:

//Define "LinkedList1" class

class LinkedList1

{

/* The code for this part is same as the textbook of "LinkedList1" class */

/* Method definition for "reverse()"*/

    public void reverse()

    {

        //Create a list "rev_list" and set it to "null"

        Node rev_list = null;

/* This loop will perform up to the first node equals to "null" */

        while (first != null)

        {

/* Move a node to rev_list from what remains of the original list */

/* Set a reference "ref" to first node */

            Node ref = first;

            /* Set "first" to next first node */

            first = first...

Blurred answer
Students have asked these similar questions
Create a method for a linked list that will delete any nodes that have the same key.
The sfortest linkedlist has an unknown number of nodes.Is there a particular one that is the longest?
delete the Nth node from the end of the LinkedList in java
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