Arrays 已建立的数据结构/模式?具有动态链接子项的列表
我需要一个解决方案,其中我有一个“主”列表/数组,该列表/数组具有多个按顺序链接的子级,每个子级表示父列表的一个子段。它类似于模式,但这里的段列表大小应该是动态的 在这里,我将尝试进一步解释。我想知道这种数据结构/模式(与“图形”、“二叉树”等方式相同)是否有一个固定的术语,这将有助于我进一步研究这一问题,试图找到最佳实现 假设我们有一个“主”列表,大小为10个项目,0-9,三个子项a、b和c以以下方式表示主的子段:Arrays 已建立的数据结构/模式?具有动态链接子项的列表,arrays,design-patterns,linked-list,Arrays,Design Patterns,Linked List,我需要一个解决方案,其中我有一个“主”列表/数组,该列表/数组具有多个按顺序链接的子级,每个子级表示父列表的一个子段。它类似于模式,但这里的段列表大小应该是动态的 在这里,我将尝试进一步解释。我想知道这种数据结构/模式(与“图形”、“二叉树”等方式相同)是否有一个固定的术语,这将有助于我进一步研究这一问题,试图找到最佳实现 假设我们有一个“主”列表,大小为10个项目,0-9,三个子项a、b和c以以下方式表示主的子段: "master" ------------------- 0-9
"master" -------------------
0-9 0 1 2 3 4 5 6 7 8 9
===== ========= ===
"children" a b c
0-2 3-7 8-9
理想情况下,解决方案应允许
- 用于创建和调整其子项的子段大小的主项(取决于连接到主项列表数据项内容的规则)
- 子对象更改其子段大小,从而使链接的兄弟姐妹相应地调整其大小/位置
- 处理与主尺寸相比的总子尺寸不足和溢出
塔克斯 如果我没弄错你想要什么。以另一种方式构建数据结构。子节点的列表(或向量),每个子节点保留一个带有反向链接的主节点列表。在这种情况下,更改子段大小只需将主节点从一个列表移动到另一个列表
1 -> 2 -> 3 -> 4 -> 5
\ / / \ /
a----- b
可能是同一个主控有两个子控(例如a和b),还是每个主控只有一个子控?主控和子控之间应该存在一对多关系……我怀疑,您是否可以在一个数组中建立n:m关系。当然你可以分两组来做谢谢你elevener!我之所以以这种方式(首先是“主列表”)呈现它,是因为在我的情况下,我从给定的主列表开始,并从中扣除孩子。但也许从“儿童的角度”来控制结构更好……事实上,它并没有太大变化。那会更方便。将您的主控项保留为一个列表,但仍然按照我建议的方式组织主控项/子控项链接(基于演绎构建子控项列表/链接)。原则上,您不需要将child保留在列表中。在这种情况下,使用主列表中的链接进行简单遍历,添加图像