Java 创建 n 个节点的单链表并反向显示的程序

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

在此程序中,我们需要创建一个单向链表并以反向顺序显示列表。

原始列表

Java program to create a singly linked list of n nodes and display it in reverse order

反向列表

Java program to create a singly linked list of n nodes and display it in reverse order

解决此问题的一种方法是通过递归到达列表的末尾,然后从尾到头显示节点。

算法

  • 创建一个名为 Node 的类,它有两个属性:data 和 next。Next 是指向链表中下一个节点的指针。
  • 创建另一个类,该类具有两个属性:head 和 tail。
  • addNode() 将向列表添加一个新节点
    • 创建一个新节点。
    • 它首先检查 head 是否等于 null,这意味着列表为空。
    • 如果列表为空,head 和 tail 都将指向新添加的节点。
    • 如果列表不为空,新节点将被添加到列表的末尾,以便 tail 的 next 将指向新添加的节点。这个新节点将成为列表的新 tail。

a. reverse() 将反转列表中节点 的顺序。

  • 此方法检查当前节点的下一个节点是否为 null,这意味着当前节点指向尾部,然后它将打印尾部节点的数据。
  • 通过考虑当前节点的下一个节点递归调用 reverse(),并从尾部开始以反向顺序打印所有节点。

a. display() 将显示列表中存在的节点

  • 定义一个节点 current,它最初将指向列表的 head。
  • 遍历列表直到 current 指向 null。
  • 通过使 current 在每次迭代中指向它的下一个节点来显示每个节点。

程序

输出

Original List: 
1 2 3 4 
Reversed List: 
4 3 2 1 
下一个主题Java 程序