二叉树的实现(一)

一、二叉树的结点BintreeNode成员

       二叉树结点类型中的成员:数据域、左子树、右子树

         二叉树类型:只要知道一个根节点root,就可以对整个二叉树结构清晰了解,也可以设置一个结束标识符stop_flag。

        初始化二叉树:init_bintree()

二、创建二叉树

1.创建二叉树函数,无返回值,设置标识符以标识符结束

       首先给一个接口函数,通过把二叉树传进来, void create_bintree(Bintree bt,ElemType flag),再把二叉树的根节点传出去

       然后再给一个创建函数,通过对二叉树额根节点进行操作,主要思想利用递归,输入为'#',返回NULL,否者创建结点,然后以这个结点为根节点进行左子树的创建,再进行右子树的创建

       注意:此时传进来的变量类型是指向节点类型的指针类型,并且要通过该函数对二叉树进行创建(也就是说要通过形参改变实参:两种方式 1引用2传址)这里的实参是一个指向结点类型的指针类型,所以说,要通过形参对实参改变传地址,或者引用。

2.创建标识符,函数无返回值,以字符串传递

首先一个接口函数,把二叉树和字符串传进来,再把二叉树的根节点传出去

如果字符串不为'\0'或者不为'#'就开辟空间给data赋值,然后递归

3.返回二叉树根节点

首先一个接口函数,把二叉树和字符串传进来,再把二叉树的根节点传出去

 

如果二叉树的根节点为NULL,直接return NULL,如果字符串不为'\0'或者不为 '#' 就开辟空间给data赋值,然后递归

       如果刚传进来的根节点为空,直接结束主函数,如果刚开始走else分支的话,再给左分支创建利用递归,如果走if分支,直接返回给t->liftChild,然后再创建右子树,以此类推。。。。。。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值