Question

In: Computer Science

You are given a reference to the head node of a linked list that stores integers....

You are given a reference to the head node of a linked list that stores integers. Please print the minimum element in this linked list. The class ListNode.java contains the description of a single node in the linked list. It has a num field to store the integer number and a reference next that points to the next element in the list. The file MyList.class is a pre-defined java code, that creates a linked list. The file ListSmallest.java creates an instance of MyList, and gets the head node of this list. Please fill out the part that says “TODO”, that computes the minimum element in the list. For fun, please solve this problem recursively. This means that no part of your solution may include iterative loops. The list will not contain any integer greater than 2000000.

ListSmallest.java:

public class ListSmallest {

   public static void main(String [] args) {
      
       // Creating an instance of MyList.
       MyList L = new MyList();

       // Get the head of the linked list.
       ListNode head = L.getHead();

       // Create an object of this program to avoid static context.
       ListSmallest l = new ListSmallest();

       // head is the head of my linked list L.
       // TODO: please write a function to print the minimum element in this list. Please store this in the variable m.
       int m = 0; // store the min in this variable.

       System.out.println("The smallest is " + m);
   }
}

ListNode.java:

public class ListNode
{
public int num;
public ListNode next;

public ListNode(int _num, ListNode _next)
{
num = _num;
next = _next;
}
}

MyList.java:

public class MyList
{
private ListNode head;

MyList()
{
System.out.println("Loading my list.");
for (int i = 0; i < 50000; ++i) {
this.head = new ListNode(200000 - i, this.head);
}
this.head = new ListNode(17, this.head);
for (int j = 50000; j < 100000; ++j)
{
this.head = new ListNode(200000 - j, this.head);
}
System.out.println("My list is successfully loaded. Please print the smallest element.");
}

public ListNode getHead()
{
return this.head;
}
}

CANNOT ADJUST NODE SIZE!!

MUST SOLVE RECURSIVELY!!

Solutions

Expert Solution

CODE:

ListSmallest.java:

/*
* To change this license header, choose License Headers in Project Properties.
* To change this template file, choose Tools | Templates
* and open the template in the editor.
*/
package listsmallest;

public class ListSmallest {
public static void main(String [] args) {
  
// Creating an instance of MyList.
MyList L = new MyList();

// Get the head of the linked list.
ListNode head = L.getHead();
// Create an object of this program to avoid static context.
ListSmallest l = new ListSmallest();

// head is the head of my linked list L.
// TODO: please write a function to print the minimum element in this list. Please store this in the variable m.
int m = l.getMinimum(head,head.num); // store the min in this variable.

System.out.println("The smallest is " + m);
}
//A function to print the minimum value in the linked list.
public int getMinimum(ListNode head,int min){
//Checking if the current node data is less than equal to previous minimum value.
if(head.num<=min){
//If yes then updating the minimum to current node value.
min = head.num;
//Calling the function again on new minimum and head.
return this.getMinimum(head.next,min);
}
//Since the linked list is of decreasing order if the current node data is not less than minimum then simply returning the minimum.
else
return min;

}
}

Remaining files that is MyList.java and ListNode.java are as it is.

CODE SCREENSHOT:

CODE OUTPUT:


Related Solutions

You are given a reference to the head node of a linked list that stores integers....
You are given a reference to the head node of a linked list that stores integers. Please print the minimum element in this linked list. The class ListNode.java contains the description of a single node in the linked list. It has a num field to store the integer number and a reference next that points to the next element in the list. The file MyList.class is a pre-defined java code, that creates a linked list. The file ListSmallest.java creates an...
You are given a reference to the head node of a linked list that stores integers....
You are given a reference to the head node of a linked list that stores integers. Please print the minimum element in this linked list. The class ListNode.java contains the description of a single node in the linked list. It has a num field to store the integer number and a reference next that points to the next element in the list. The file MyList.class is a pre-defined java code, that creates a linked list. The file ListSmallest.java creates an...
You are given a reference to the head node of a linked list that stores integers....
You are given a reference to the head node of a linked list that stores integers. Please print the minimum element in this linked list. The class ListNode.java contains the description of a single node in the linked list. It has a num field to store the integer number and a reference next that points to the next element in the list. The file MyList.class is a pre-defined java code, that creates a linked list. The file ListSmallest.java creates an...
You are given a reference to the head node of a linked list that stores integers....
You are given a reference to the head node of a linked list that stores integers. Please print the minimum element in this linked list. The class ListNode.java contains the description of a single node in the linked list. It has a num field to store the integer number and a reference next that points to the next element in the list. The file MyList.class is a pre-defined java code, that creates a linked list. The file ListSmallest.java creates an...
You are given a reference to the head node of a linked list that stores integers....
You are given a reference to the head node of a linked list that stores integers. Please print the minimum element in this linked list. The class ListNode.java contains the description of a single node in the linked list. It has a num field to store the integer number and a reference next that points to the next element in the list. The file MyList.class is a pre-defined java code, that creates a linked list. The file ListSmallest.java creates an...
You're given the pointer to the head node of a ordered linked list, an integer to...
You're given the pointer to the head node of a ordered linked list, an integer to add to the list. Write a function that inserts a number in the the list preserving its order. If the head pointer contains a null pointer that indicates an empty list. Function insertNode has the following parameters: head: a SinglyLinkedListNode pointer to the head of the list data: an integer value to insert as data in your new node Function prototype: SinglyLinkedListNode* insertNode(SinglyLinkedListNode* head,...
Python 3 Function which takes the head Node of a linked list and sorts the list...
Python 3 Function which takes the head Node of a linked list and sorts the list into non-descending order. PARAM: head_node The head of the linked list RETURNS: The node at the head of the sorted linked list. ''' def sort(head_node): #Code goes here ''' Test code goes here '' ' if __name__ == '__main__':
C++ language or Python. Linked Lists You are given a linked list that contains N integers....
C++ language or Python. Linked Lists You are given a linked list that contains N integers. You are to perform the following reverse operation on the list: Select all the subparts of the list that contain only even integers. For example, if the list is {1,2,8,9,12,16}, then the selected subparts will be {2,8}, {12,16}. Reverse the selected subpart such as {8,2} and {16,12}. The list should now be {1,8,2,9,16,12}. Your node definition should consist of 2 elements: the integer value...
Given a linked list of integers, remove any nodes from the linked list that have values...
Given a linked list of integers, remove any nodes from the linked list that have values that have previously occurred in the linked list. Your function should return a reference to the head of the updated linked list. (In Python)
Working on a c++ data structures assignment.   Linked List add node. I have the head case...
Working on a c++ data structures assignment.   Linked List add node. I have the head case and the tail case working but the middle/general case I can not get to work for the life of me. I have included the header file and the data struct file below   #ifndef LINKEDLIST_H #define LINKEDLIST_H #include "data.h" #include <iostream>   //take this out using std::cout; class LinkedList{     public:         LinkedList();         ~LinkedList();         bool addNode(int, string);         bool deleteNode(int);         bool getNode(int, Data*);         void printList(bool = false);         int getCount();         void...
ADVERTISEMENT
ADVERTISEMENT
ADVERTISEMENT