二叉树建立及插入节点

在二叉树使用中,我们需要不断的为二叉树插入数值,或者是删除数值,因此二叉树的建立和插入节点就显得尤为重要;
建立一棵二叉树
void pre_crt(tree &bt) //按先序次序输入二叉树中结点的值,生成
{
char ch;
ch = getchar(); //二叉树的单链表存储结构,bt为指向根结点的指针,’ ′ 表 示 空 树 i f ( c h ! = ′ '表示空树 if(ch != ' if(ch!=’)
{
bt = new node; //建根结点
bt->data = ch;
pre_crt(bt->lchild); //建左子树
pre_crt(bt->rchild); //建右子树
}
else bt = NULL;
}
删除二叉树
void dis(tree &bt) //删除二叉树
{
if(bt)
{
dis(bt->lchild); //删左子树
dis(bt->rchild); //删右子树
delete bt; //释放父结点
}
}
插入一个结点到排序二叉树中
void insert(tree &bt, int n) //插入一个结点到排序二叉树中
{
if(bt)
{
if(n < bt->data) insert(bt->lchild, n);
else if(n > bt->data) insert(bt->rchild, n);
}
else
{
bt = new node; //新开一个空间
bt->data = n;
bt->lchild = bt->rchild = NULL;
}
}
另外写一下小知识3.14…可用acos(-1.0)来表示。

    原文作者:无敌的CC
    原文地址: https://blog.csdn.net/qq_43540087/article/details/90116261
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞