| 发表于:2007-02-02 16:40:436楼 得分:20 |
很明显,指针s指向一个数组,里面保存了按照前序顺序的二叉树各个节点的数据。#表示叶子节点内的数据。 前序遍历:先访问根节点,然后访问左子树,最后访问右子树。 于是上面的算法就很容易明白了。 设s为root,l1,l11,l12,l2,l21,l22。 1)t-> data = *s; 构造根节点并赋值; 2)s = createbitree(t-> lchild, s+1); 从数组里取得左子树的数据s+1,构造左子树并赋值; 最终将返回l2 3)类上,构造右子树并赋值。 自己构造个前序二叉树数组,按照算法画画图一切都搞清楚了。 另外:难道老师没说s是什么吗? | | |
|