当您不知道父母可能有多少孩子时,如何实施n-ary树?

use*_*326 2 c filesystems tree

这是我在理论上一直在努力的事情,但在网上找不到任何好的答案.我之前用二叉树编写程序,这很简单:每个节点都有两个链接.但是现在我正在计划一个基于树的文件系统用于项目,我不知道如何继续.这是麻烦:

我想要一个树,指向内部节点的叶子和子目录的文件(我认为这是Unix的用途吗?).但是,如果用户想要创建新文件或目录,则必须增加父节点中的链接数.

在设计结构时如何解释这一点?除了硬编码之外,我不确定我的选择是什么,例如,10个链接和限制目录成员.有什么指针吗?(哈,明白吗?)

如果没有,有没有人知道有什么好的资源我可以在这里了解更多?就像我说的,到目前为止,我的互联网搜索一直没有结果.

unw*_*ind 7

您只需使用儿童的链接列表即可.

请原谅我的ASCII图形:

+------+
|parent|
+------+
   |
   |
   \    +-----------+     +----------+       +----------+
    --->|first child|---->|next child|--...->|last child|-->NULL
        +-----------+     +----------+       +----------+
Run Code Online (Sandbox Code Playgroud)

这使得孩子们走路时非常琐碎,因为为了得到第n个孩子你需要去看孩子们的n -1,但我认为这是一种可行的方法.