问题 C: 链表结点的物理顺序与逻辑顺序

内存限制:128 MB 时间限制:1 S 标准输入输出
题目类型:传统 评测方式:文本比较 上传者:
提交:1445 通过:810

题目描述

已知一个单向链表各结点在存储器中的物理顺序,以及各结点之间的指向关系,要求输出该链表各结点的逻辑顺序。

6
p4
p5
null
p2
p3
p1

如样例所示及图所示的链表,共有6个结点,按这6个结点在存储器中的物理顺序依次编号为1~6。第1个结点(可以理解为数据域为1)的指针域为p4;第2个节点的指针域为p5, 表示它指向第5个结点。在该图中,符号“∧”表示空指针。
因此,这个链表6个结点的逻辑顺序为:6->1->4->2->5->3,形成如下如所示的链表:



输入格式

输入文件中包含多个测试数据。每个测试数据描述了一个单向链表:第一行为一个自然数n,5≤n≤9,表示有n个结点;接下来有n行,第i+1行如果为pj,则表示第i个结点的指针域指向第j个结点,如果指针域为null,则表示空指针。输入文件最后一行为0,表示输入结束。
输入数据确保每个测试数据能表示一个合理的单向链表




视频讲解:https://www.ixigua.com/7209883073020690947
https://www.ixigua.com/7209883386981122571


输出格式

对输入文件中的每个测试数据,输出n个结点的逻辑顺序,相邻两个结点之间用符号“->”连接。

输入样例 复制

6
p4
p5
null
p2
p3
p1
0

输出样例 复制

6->1->4->2->5->3

数据范围与提示

7
p7
p1
p2
p5
null
p3
p4
9
null
p8
p9
p1
p2
p5
p4
p7
p6
0

分类标签