BBS水木清华站∶精华区

发信人: ax.bbs@bbs.ee.nthu.edu.tw. (athena), 信区: test 
标  题: 星星流讲座 0048 
发信站: ☆清华电机☆ (Sun Jul 23 00:18:53 1995) 
 
 
第 7 讲 之 6            递回式定义的结构 
                        Topic: Self-referential Structures 
 
结构在定义的时候也可以引用自己,最常见的是在定义二元树 (binary 
tree) 的时候。什麽叫二元树呢?我们并不打算在此给二元树作详细的 
介绍,有兴趣的读者请你自己参考资料结构的书籍。基本上二元树长的 
像这个样子: 
 
                A 
               / \ 
              B   C 
             / \ 
            D   E 
 
每个蜃I (node) 最多有两个子节点 (child),所以最常见的节点结构 
的定义是: 
 
        struct node 
        { 
            int content; 
            struct node *lchild; 
            struct node *rchild; 
        }; 
 
我们可以发现在 node 这个结构的宣告中竟然引用它自己,这种宣告 
方式在 C 语言中是合法的,它的意义就是用来做树 (tree) 的定义。 
 
-- 
本文原作者为徐振家,原作刊载於星星神教谦□☆清华电机☆ test 板。 
你可以以电子文件的形式将本文自由流传於台湾学术网路,但必须包含此版权声明。 
原作者依中华民国著作权法之规定,享有本文之著作权,请勿抄袭以免触法。 
未经授权任何人不得以任何形式对本文做任何修改及商业上之应用。 
其他网路的转载或其他用途的应用,请先知会作者,并取得其同意。 
对本文有任何疑问或意见请 mail 给 ax.bbs@bbs.ee.nthu.edu.tw,谢谢。 

BBS水木清华站∶精华区