创建包含 n 个节点的单向链表并以反向顺序显示的程序

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

说明

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

原始列表

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

逆序列表

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

解决此问题的几种方法之一是递归地到达列表末尾并从尾到头显示节点。

算法

  1. 创建一个名为 Node 的类,它有两个属性:data 和 next。Next 是指向链表中下一个节点的指针。
  2. 创建另一个类,该类具有两个属性:head 和 tail。
  3. addNode() 将向列表添加一个新节点
    1. 创建一个新节点。
    2. 它首先检查 head 是否等于 null,这意味着列表为空。
    3. 如果列表为空,head 和 tail 都将指向新添加的节点。
    4. 如果列表不为空,新节点将被添加到列表的末尾,以便 tail 的 next 将指向新添加的节点。这个新节点将成为列表的新 tail。
  4. reverse() 函数将反转列表中节点的顺序。
    1. 此方法检查当前节点的下一个节点是否为空,这意味着当前节点指向尾部,然后它将打印尾部节点的数据。
    2. 通过考虑当前节点的下一个节点递归调用 reverse(),并从尾部开始以反向顺序打印所有节点。
  5. display() 将显示列表中存在的节点
    1. 定义一个节点 current,它最初将指向列表的 head。
    2. 遍历列表直到 current 指向 null。
    3. 通过使 current 在每次迭代中指向它的下一个节点来显示每个节点。

解决方案

Python

输出

Original List: 
1 2 3 4 
Reversed List: 
4 3 2 1 

C

输出

Original List: 
1 2 3 4 
Reversed List: 
4 3 2 1 

JAVA

输出

Original List: 
1 2 3 4 
Reversed List: 
4 3 2 1 

C#

输出

Original List: 
1 2 3 4 
Reversed List: 
4 3 2 1 

PHP

输出

Original List: 
1 2 3 4 
Reversed List: 
4 3 2 1 
 
下一主题#