我有一个给定的1xN-fields结构数组,嵌套有N个结构,有三个字段:
id
:唯一数字标识符name
:唯一的字母数字名称parent_id
:与另一个id
父母关系由parent_id
给出,id
指的是当前ID嵌套的另一个parent_id
,使当前标记成为子标记。 tags =
field1: [1x1 struct]
field2: [1x1 struct]
tags.field1 =
id: 1
name: 'tag1'
parent_id: []
tags.field2 =
id: 2
name: 'tag2'
parent_id: 1
也可以为空,表示当前ID位于根级别,而不是嵌套在任何其他ID下。例如:
tags
使用上面的field2
结构,field1
将嵌套在树形图中的tags_sorted =
field1: [1x1 struct]
tags_sorted.id_1 =
id: 1
name: 'tag1'
parent_id: []
id_2: [1x1 struct]
tags_sorted.id_1.id_2 =
id: 2
name: 'tag2'
parent_id: 1
中。这引出了我的问题:如何有效地重新组织给定格式的数据以生成基于文本的树形图并提供数据以便进一步处理?
我尝试过的一种方法是重组为一大堆嵌套结构,如下所示:
tags
随着子标签(子标签,子标签......)的子标签数量的增加,导致越来越深的嵌套。我无法想出一种能够处理无限数量嵌套的算法。
有什么想法吗?我担心{{1}}的输入数据结构无法改变。