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

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

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

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

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

算法

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

a. maximumNode() 将输出最大值节点

  • 定义变量 max 并使用 head 的数据初始化它。
  • 当前节点将指向 head。
  • 通过将每个节点的数据与 max 进行比较来遍历列表。
  • 如果 max < current 的数据,则 max 将保存 current 的数据。
  • 在列表的末尾,变量 max 将保存最大值节点。
  • 打印最大值。

程序

输出

Minimum value node in the list: 1
Maximum value node in the list: 9
下一个主题Java 程序