问. 查找双向链表中最大值和最小值节点的程序。

2025年3月17日 | 阅读 10 分钟

说明

在这个程序中,我们将创建一个双向链表,然后遍历列表找出最小值和最大值节点。

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

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

算法

  1. 定义一个 Node 类,它表示列表中的一个节点。它将有三个属性:数据、previous 指向前一个节点,以及 next 指向下一个节点。
  2. 为创建双向链表定义另一个类,它有两个节点:head 和 tail。最初,head 和 tail 将指向 null。
  3. minimumNode() 将打印出最小值节点
    1. 定义变量 min 并使用 head 的数据初始化它。
    2. 当前节点将指向 head。
    3. 通过将每个节点的数据与 min 进行比较来遍历列表。
    4. 如果 min > 当前节点的数据,则 min 将保存当前节点的数据。
    5. 在列表的末尾,变量 min 将保存最小值节点。
    6. 打印最小值。
  4. maximumNode() 将打印出最大值节点
    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: 9

C

输出

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

JAVA

输出

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

C#

输出

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

PHP

输出

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