【发布时间】:2018-11-24 11:59:16
【问题描述】:
我有一个如下所示的数据列表:
A [example 1]
B [example 2]
C [example 3]
C [example 4]
B [example 5]
C [example 6]
文本的每一行代表一个对象,属于它上面的对象类型。我想创建一个嵌套对象结构来表示它,因此主类 A 将包含 B 的列表(示例 2 和 5),而类 B 将包含 C 的列表(示例 2将包含 3 和 4,示例 5 将包含 6)。 A、B 和 C 是深度指标,A 是根节点,任意数量的后续节点是它的子节点。为了澄清,每个节点将始终属于其正上方的父节点,但可能有 0 多个节点。即有可能:
A [example 1]
B [example 2]
但不是
A [example 1]
C [example 2]
因为 C 必须属于它的父 B。
我正在寻找的是有人指出我正确的方向以找到一个巧妙的解决方案(可能通过递归?),这是大量的数据,所以理想情况下我只想遍历列表一次,而我所做的任何看似接近解决方案的事情都令人难以置信地混淆了。
【问题讨论】:
-
是
A、B、C等深度指标吗?你想要什么并不完全清楚。 摄取中没有递归,您只需要迭代并跟踪您正在向哪个节点添加数据,例如推送和弹出。 -
确切地说,A 将是根节点,B 深度 1,C 深度 2 等等。你是对的,我不认为递归是我在这里所追求的,我正在寻找以一种简洁的方式来跟踪我要添加到的节点