我有一个给定的 1xN-fields 结构数组,其中嵌套了 N 个具有三个字段的结构:
id
:唯一的数字标识符name
: 唯一的字母数字名称parent_id
: 与他人的亲子关系id
父关系由 给出parent_id
,它指代id
当前 ID 嵌套在其下的另一个关系,使当前标签成为子标签。也可以为空,这parent_id
意味着当前 ID 位于根级别,并且没有嵌套在任何其他 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
使用像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
无法更改。