从单链表中查找最大值和最小值节点的程序

2025年03月17日 | 阅读 9 分钟

说明

在此程序中,我们需要找出给定单链表中的最小值和最大值节点。

Program to find the maximum and minimum value node from a singly linked list

我们将维护两个变量 min 和 max。Min 将保存最小值节点,max 将保存最大值节点。在上面的例子中,1将是最小值节点,8将是最大值节点。查找最大和最小节点的算法如下。

算法

  1. 创建一个名为 Node 的类,它有两个属性:data 和 next。Next 是指向链表中下一个节点的指针。
  2. 创建另一个类 MinMax,它有两个属性:head 和 tail。
  3. addNode() 将向列表添加一个新节点
    1. 创建一个新节点。
    2. 它首先检查 head 是否等于 null,这意味着列表为空。
    3. 如果列表为空,则 head 和 tail 都将指向新添加的节点。
    4. 如果列表不为空,新节点将添加到列表末尾,使得 tail 的 next 指向新添加的节点。此新节点将成为列表的新 tail。
  4. minNode() 将显示最小值节点
    1. 定义一个变量 min 并将其初始化为 head 的数据。
    2. Node current 将指向 head。
    3. 通过将每个节点的数据与 min 进行比较来遍历列表。
    4. 如果 min 大于 current 的数据,则 min 将保存 current 的数据。
    5. 在列表的末尾,变量 min 将保存最小值节点。
    6. 显示 min 值。
  5. maxNode() 将显示最大值节点
    1. 定义一个变量 max 并将其初始化为 head 的数据。
    2. Node current 将指向 head。
    3. 通过将每个节点的数据与 max 进行比较来遍历列表。
    4. 如果 max 小于 current 的数据,则 max 将保存 current 的数据。
    5. 在列表的末尾,变量 max 将保存最大值节点。
    6. 显示 max 值。

解决方案

Python

输出

 Minimum value node in the list: 1
Maximum value node in the list: 8

C

输出

Minimum value node in the list: 1
Maximum value node in the list: 8

JAVA

输出

Minimum value node in the list: 1
Maximum value node in the list: 8

C#

输出

Minimum value node in the list: 1
Maximum value node in the list: 8

PHP

输出

 Minimum value node in the list: 1
Maximum value node in the list: 8
 
下一主题#