我需要使用递归函数创建一个嵌套数组。我的重点是在插入新内容时找出正确的键值。
该数组最初是空的,经过几次递归调用后应该看起来像这样。
[Family]
[0]
[Name]...
[1]
[Name]...
[Family]
[0]
[Name]...
[Family]
[0]
[Name]....
每次对递归函数的调用都会创建一个[Family]键及其辅助的[Name']键([Family]也有其他键,为简单起见,仅将其保留为一个)。必须立即将其插入数组中最后一个[Name]键之后,无论当时处于何种深度。
输入数据是GEDCOM文件,这是一种以简单文本文件格式表示家族键的标准方法。我的代码可以从GEDCOM文件创建单个[Family]键,但是我无法弄清楚如何在每个递归调用中将每个['Family]键添加到输出数组的末尾。
例如,在第一次调用递归函数后,数组应如下所示:
[Family]
[0]
[Name]...
[1]
[Name]...
递归函数创建的[Family]键如下所示:
[Family]
[0]
[Name]...
应将其插入[Family] [1] [Name]之后的数组中。
我遇到的问题是,我在需要附加每个[Family]键时不知道该数组的结构,因为该数组是在每次对递归函数的调用上更新的,并且其中的数目未知数组中的尺寸。
Pete