王道书P150 T16

/**
 * 用二叉树链式存储实现 王道 P150 T16
 *
 * ①算法思想
 * 遍历所有的节点找到叶子节点,然后把节点连接一起。
 * 用哪一种遍历方式都可以改。
 *
 * ②算法设计
 */


#include 
#include 
#define MaxSize 100

typedef struct BiTreeNode{
    int data;
    BiTreeNode *lchild,*rchild;
}BiTreeNode,*BiTree;


//P150 T16
void LinkLeaf(BiTree &pre,BiTree &p){//pre用来把节点们连接起来
    if(p != NULL){
//        Visit(T);
        if(p -> lchild == NULL && p -> rchild == NULL){//说明是叶子节点
            if(pre == NULL)//第一个叶子节点
                pre = p;
            else{
                pre -> rchild = p;
                pre = p;
            }
        }
        LinkLeaf(pre,p -> lchild);
        LinkLeaf(pre,p -> rchild);
    }
}

你可能感兴趣的:(王道书第五章综合应用题,算法,c++,数据结构,c语言,链表)