Starting Out with Java: From Control Structures through Data Structures (3rd Edition)
Starting Out with Java: From Control Structures through Data Structures (3rd Edition)
3rd Edition
ISBN: 9780134038179
Author: Tony Gaddis, Godfrey Muganda
Publisher: PEARSON
Expert Solution & Answer
Book Icon
Chapter 20, 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
Java - Mileage for a Runner
You are required to complete the LinkedList class. This class is used as a linked list that has many methods to perform operations on the linked list. To create a linked list, create an object of this class and use the addFirst or addLast or add(must be completed) to add nodes to this linked list. Your job is to complete the empty methods. For every method you have to complete, you are provided with a header, Do not modify those headers(method name, return type or parameters). You have to complete the body of the method. package chapter02;

public class LinkedList
{
   protected LLNode list;

   public LinkedList()
   {
      list = null;
   }

   public void addFirst(T info)
   {
      LLNode node = new LLNode(info);
      node.setLink(list);
      list = node;
   }

   public void addLast(T info)
   {
      LLNode curr = list;

      LLNode newNode = new LLNode(info);
      if(curr == null)
      {
         list = newNode;
      }
      else
      {
         while(curr.getLink() !=…
Write the method removeFirst, member of class LinkedList, that removes the first occurrence of every element that appears more than once in the list. Do not use any auxiliary data structures and do not call any methods. The method signature is 8. public void removeFirst(). - Example 3.10 If the list contains: BA -→ A →RC- A C R, then after calling removeFirst, its content becomes BAA C-R.
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