查找循环链表中的最大值和最小值节点程序

2025年1月8日 | 阅读 8 分钟

说明

在这个程序中,我们将创建一个循环链表,然后遍历该列表以找出最小和最大的节点。

9->5->2->7->3

我们将维护两个变量 min 和 max。Min 将保存最小值节点,max 将保存最大值节点。在上面的示例中,2 将是最小值节点,9 将是最大值节点。

算法

  1. 定义一个 Node 类,它表示列表中的一个节点。它有两个属性 data 和 next,next 将指向下一个节点。
  2. 定义另一个类来创建循环链表,它有两个节点:head 和 tail。
  3. minNode() 将打印出最小值节点
    1. 定义变量 min 并使用 head 的数据初始化它。
    2. 当前节点将指向 head。
    3. 通过将每个节点的数据与 min 进行比较来遍历列表。
    4. 如果 min > 当前节点的数据,则 min 将保存当前节点的数据。
    5. 在列表的末尾,变量 min 将保存最小值节点。
    6. 打印最小值。
  4. maxNode() 将打印出最大值节点
    1. 定义变量 max 并使用 head 的数据初始化它。
    2. 当前节点将指向 head。
    3. 通过将每个节点的数据与 max 进行比较来遍历列表。
    4. 如果 max > current 的数据,则 max 将保存 current 的数据。
    5. 在列表的末尾,变量 max 将保存最大值节点。
    6. 打印最大值。

解决方案

Python

输出

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

C

输出

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

JAVA

输出

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

C#

输出

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

PHP

输出

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