二叉树的简单运算实现
来源:互联网 发布:泰山石敢当 知乎 编辑:程序博客网 时间:2024/04/29 12:45
二叉树基本运算的实现算法,依赖于具体的存储结构;采用不同的存储结构,二叉树的基本运算的实现算法是不同的。
这里讨论的运算实现算法,是以二叉链表为存储结构的。
1.设置空二叉树
void setnull(bitree bt)//设置一颗空二叉树,即置头结点的左右孩子链域为空{ bt->lchild=NULL; bt->rchild=NULL;}
2.求二叉树的根
elemtype root(bitree bt)//该运算返回二叉树根结点的值,当二叉树为空树时返回NULL{ if(bt->lchild==NULL) return NULL; else return bt->lchild->data;}
3.建立二叉树操作
bitree create(elemtype x,bitree lbt,bitree rbt)//该运算生成一棵以x为根结点,lbt和rbt分别为左右子树的二叉树{ bitree p;//定义局部变量 p=(bitree)malloc(sizeof(bitnode));//申请一个结点空间,地址传给p指针 p->data=x;//填x于数据域 p->lchild=lbt;//把二叉树lbt填入p的左孩子链域 p->rchild=rbt;//把二叉树rbt填入p的右孩子链域 return p;//返回建成的二叉树}
4.插入左孩子
void addlchild(bitree bt,elemtype x)//把元素x插入到二叉树bt中成为它的左孩子{ bitree p; p=(bitree)malloc(sizeof(bitnode));//申请一个结点空间 p->data=x;//填入元素x p->lchild=NULL; p->rchild=NULL; bt->lchild=p;//插入bt左孩子域}
5.删除左孩子
void dellchild(bitree bt)//删除二叉树bt的左孩子,整个左子树全部被删除{ bitree p; p=bt->lchild;//保存左子树指针 bt->lchild=NULL;//bt的左孩子域置空 free(p);//释放左子树空间}
- 二叉树的简单运算实现
- Java实现二叉树的基本运算
- 简单二叉树的实现
- 二叉树的简单实现
- 简单二叉树的实现
- 二叉树的简单实现
- 二叉树的简单实现
- 二叉树的简单实现
- 二叉树的简单实现
- 二叉线索链表上的简单运算
- 简单二叉树实现
- 简单实现二叉树
- 简单二叉树实现
- 二叉树简单实现
- 二叉运算树:用链表实现二叉运算树
- c语言实现的简单二叉树
- C++对二叉树的简单实现。
- 简单数据结构的实现之二叉树
- 编成技术15
- 九度1177 查找
- BNUOJ 3869 Buying Hay
- 编成技术16
- 编成技术17
- 二叉树的简单运算实现
- 编成技术18
- gridfs
- [ 面试] 12个小球用天平秤3次,找出其中一个重量不同的。
- BNUOJ 4157 Chocolate Giving
- 获取设备环境句柄
- 网络视频监控P2P解决方案
- POJ 1260 Pearls
- LCD屏时序分析