二叉树的实现(一)
来源:互联网 发布:测绘数据泄密案例 编辑:程序博客网 时间:2024/06/05 13:35
一、二叉树的结点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,然后再创建右子树,以此类推。。。。。。
- 二叉树的递归实现(一)
- 二叉树的实现(一)
- 二叉树的基本实现(一)
- 用二叉链表实现完全二叉树 (Linked Complete Binary Tree) 的实现(一)
- 二叉查找树的C语言实现(一)
- 二叉树的建立与遍历(一)(c++实现)
- 二叉树(一):二叉树的创建以及三种遍历方法的递归实现
- 二叉树(一)——二叉树的基本实现(数组实现和链表实现)
- 二叉树(一)——二叉树的构造及三种遍历算法的递归实现(java版)
- 二叉查找树(一)之 C语言的实现
- 一颗二叉查找树的简单实现
- 实现一颗二叉树的层序遍历。
- 实现一颗二叉树的层序遍历
- 实现一棵二叉树的层序遍历
- 实现一颗二叉树的层序遍历
- 实现一颗二叉树,检查二叉树是否平衡(java实现)
- 二叉树的相关操作(一)
- 二叉树的构造(一)
- SpringMVC中文乱码的解决及配置
- QCalendarWidget 样式设置
- 置顶拜读
- centos7安装完mysql之后,开放3306端口,创建数据库并导入.sql文件
- mipi 基本知识和调试经验
- 二叉树的实现(一)
- 欢迎使用CSDN-markdown编辑器
- 第八章 matplotlib画图
- STL容器的总结
- 正则表达式30分钟入门教程
- 简单莫对算法 --- 离线处理所有询问
- Blog项目 —上集
- 创建新表时的导出表sql
- 关于hibernate一级缓存