136
Program to find the maximum and minimum value node from a circular linked list
Explanation
In this program, we will create a circular linked list then, iterate through the list to find out the minimum and maximum node.
9->5->2->7->3
We will maintain two variables min and max. Min will hold the minimum value node, and max will hold the maximum value node. In above example, 2 will be the minimum value node and 9 will be the maximum value node.
Algorithm
- Define a Node class which represents a node in the list. It has two properties data and next which will point to the next node.
- Define another class for creating the circular linked list and it has two nodes: head and tail.
- minNode() will print out minimum value node:
- Define variable min and initialize with head’s data.
- Current will point to head.
- Iterate through the list by comparing each node’s data with min.
- If min > current’s data then min will hold current’s data.
- At the end of the list, variable min will hold the minimum value node.
- Print the min value.
- maxNode() will prints out maximum value node:
- Define variable max and initialize with head’s data.
- Current will point to head.
- Iterate through the list by comparing each node’s data with max.
- If max > current’s data then max will hold current’s data.
- At the end of the list, variable max will hold the maximum value node.
- Print the max value.
Solution
Python
Output:
Minimum value node in the list: 1 Maximum value node in the list: 20
C
Output:
Minimum value node in the list: 1 Maximum value node in the list: 20
JAVA
Output:
Minimum value node in the list: 1 Maximum value node in the list: 20
C#
Output:
Minimum value node in the list: 1 Maximum value node in the list: 20
PHP
Output:
Minimum value node in the list: 1 Maximum value node in the list: 20
Next Topic#