Given the IntNode class, define the findMax() method in the CustomLinkedList class that returns the largest value in the list or returns -99 if the list is empty. Assume all values in the list are non-negative. Ex: If the list contains: head -> 14 -> 191 -> 186 -> 181 findMax(headObj) returns 191. Ex: If the list contains: head -> findMax(headObj) returns -99. public class CustomLinkedList {        public static int findMax(IntNode headObj) {      if (headObj.getNext() == null) {             return -99;  // List is empty         }         int max = headObj.getNext().getData();         IntNode current = headObj.getNext().getNext();         // Traverse the linked list to find the maximum value         while (current != null) {             int data = current.getData();             if (data > max) {                 max = data;             }             current = current.getNext();         }         return max;     }        public static void main(String[] args) {       IntNode headObj;        IntNode currObj;       IntNode lastObj;       int i;        int max;              // Create head node       headObj = new IntNode(-1);        lastObj = headObj;              // Add nodes to the list       for (i = 0; i < 20; ++i) {           currObj = new IntNode(i);                   lastObj.insertAfter(currObj);           lastObj = currObj;       }                  max = findMax(headObj);       System.out.println(max);    } } public class IntNode {    private int dataVal;         // Node data    private IntNode nextNodePtr; // Reference to the next node    public IntNode() {       dataVal = 0;       nextNodePtr = null;    }    // Constructor    public IntNode(int dataInit) {       this.dataVal = dataInit;       this.nextNodePtr = null;    }    // Constructor    public IntNode(int dataInit, IntNode nextLoc) {       this.dataVal = dataInit;       this.nextNodePtr = nextLoc;    }    /* Insert node after this node.     Before: this -- next     After:  this -- node -- next     */    public void insertAfter(IntNode nodeLoc) {       IntNode tmpNext;       tmpNext = this.nextNodePtr;       this.nextNodePtr = nodeLoc;       nodeLoc.nextNodePtr = tmpNext;    }    // Get location pointed by nextNodePtr    public IntNode getNext() {       return this.nextNodePtr;    }    // Get node value    public int getNodeData() {       return this.dataVal;    }        // Print node value    public void printNodeData() {       System.out.println(this.dataVal);    } }

Database System Concepts
7th Edition
ISBN:9780078022159
Author:Abraham Silberschatz Professor, Henry F. Korth, S. Sudarshan
Publisher:Abraham Silberschatz Professor, Henry F. Korth, S. Sudarshan
Chapter1: Introduction
Section: Chapter Questions
Problem 1PE
icon
Related questions
Question

Given the IntNode class, define the findMax() method in the CustomLinkedList class that returns the largest value in the list or returns -99 if the list is empty. Assume all values in the list are non-negative.

Ex: If the list contains:

head -> 14 -> 191 -> 186 -> 181

findMax(headObj) returns 191.

Ex: If the list contains:

head ->

findMax(headObj) returns -99.

public class CustomLinkedList {
   
   public static int findMax(IntNode headObj) {
     if (headObj.getNext() == null) {
            return -99;  // List is empty
        }

        int max = headObj.getNext().getData();
        IntNode current = headObj.getNext().getNext();

        // Traverse the linked list to find the maximum value
        while (current != null) {
            int data = current.getData();
            if (data > max) {
                max = data;
            }
            current = current.getNext();
        }

        return max;
    }
   
   public static void main(String[] args) {
      IntNode headObj; 
      IntNode currObj;
      IntNode lastObj;
      int i; 
      int max;
      
      // Create head node
      headObj = new IntNode(-1); 
      lastObj = headObj;
      
      // Add nodes to the list
      for (i = 0; i < 20; ++i) { 
         currObj = new IntNode(i);         
         lastObj.insertAfter(currObj); 
         lastObj = currObj;
      }    
      
      max = findMax(headObj);
      System.out.println(max);
   }
}

public class IntNode {
   private int dataVal;         // Node data
   private IntNode nextNodePtr; // Reference to the next node

   public IntNode() {
      dataVal = 0;
      nextNodePtr = null;
   }

   // Constructor
   public IntNode(int dataInit) {
      this.dataVal = dataInit;
      this.nextNodePtr = null;
   }

   // Constructor
   public IntNode(int dataInit, IntNode nextLoc) {
      this.dataVal = dataInit;
      this.nextNodePtr = nextLoc;
   }

   /* Insert node after this node.
    Before: this -- next
    After:  this -- node -- next
    */
   public void insertAfter(IntNode nodeLoc) {
      IntNode tmpNext;

      tmpNext = this.nextNodePtr;
      this.nextNodePtr = nodeLoc;
      nodeLoc.nextNodePtr = tmpNext;
   }

   // Get location pointed by nextNodePtr
   public IntNode getNext() {
      return this.nextNodePtr;
   }

   // Get node value
   public int getNodeData() {
      return this.dataVal;
   }
   
   // Print node value
   public void printNodeData() {
      System.out.println(this.dataVal);
   }
}

Expert Solution
trending now

Trending now

This is a popular solution!

steps

Step by step

Solved in 6 steps with 8 images

Blurred answer
Knowledge Booster
Threads in linked list
Learn more about
Need a deep-dive on the concept behind this application? Look no further. Learn more about this topic, computer-science and related others by exploring similar questions and additional content below.
Similar questions
Recommended textbooks for you
Database System Concepts
Database System Concepts
Computer Science
ISBN:
9780078022159
Author:
Abraham Silberschatz Professor, Henry F. Korth, S. Sudarshan
Publisher:
McGraw-Hill Education
Starting Out with Python (4th Edition)
Starting Out with Python (4th Edition)
Computer Science
ISBN:
9780134444321
Author:
Tony Gaddis
Publisher:
PEARSON
Digital Fundamentals (11th Edition)
Digital Fundamentals (11th Edition)
Computer Science
ISBN:
9780132737968
Author:
Thomas L. Floyd
Publisher:
PEARSON
C How to Program (8th Edition)
C How to Program (8th Edition)
Computer Science
ISBN:
9780133976892
Author:
Paul J. Deitel, Harvey Deitel
Publisher:
PEARSON
Database Systems: Design, Implementation, & Manag…
Database Systems: Design, Implementation, & Manag…
Computer Science
ISBN:
9781337627900
Author:
Carlos Coronel, Steven Morris
Publisher:
Cengage Learning
Programmable Logic Controllers
Programmable Logic Controllers
Computer Science
ISBN:
9780073373843
Author:
Frank D. Petruzella
Publisher:
McGraw-Hill Education