文章

19

粉丝

0

获赞

147

访问

3.6k

头像
二叉树的建立和遍历 题解:代码注释讲解
P1109 同济大学机试题
发布于2025年3月18日 13:06
阅读数 252

树里面大量运用指针,基础不好的同学可能难以理解,结合代码注释讲一讲

#include<bits/stdc++.h>
using namespace std;
typedef struct node{//定义结构体node,并且将这种结构体命名为Node,指向它的指针命名为BiTree 
    char data;
    struct node *lchild;
    struct node *rchild;
}Node,*BiTree;
BiTree CreateBiTree(){//建立一颗二叉树,输入为先序序列,基础的递归思想。我需要的返回值是指向根节点的指针,所以数据类型是BiTree 
    char c;
    cin >> c;
    if(c == '0') return nullptr;//c++11中可以用nullptr这种形式表示空指针 
    else{
        BiTree t = new Node;
        t->data = c;
        t->lchild = CreateBiTree();
        t->rchild = CreateBiTree();
        return t;
    }
}
void PreOreder(BiTree T){//先序遍历,注意T不为空不能少,不然指向空节点后回不来,会继续调用T->data出错。 
    if(T != nullp...

登录查看完整内容


登录后发布评论

暂无评论,来抢沙发