二叉树操作

void pre_crt(tree &bt){   //按次序输入二叉树中节点的值生成 
	char ch;
	ch=getchar();  //二叉树的单链表存储结构,bt为指向根节点的指针,'$'表示空树 
	if(ch!='$')
	{
		bt=new node;
		bt->date=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->date)   insert(bt->lchild);
		if(n>bt->date)   insert(bt->rchild);
	}
	else
	{
		bt=new node;
		bt->date=n;
		bt->lchild=bt->rchild=NULL;
	}
}
tree findn(tree bt,int n)  //在排序二叉树中查找一个数,找到返回该结点,否则返回NULL 
{
	if(bt)
	{
		if(n<bt->date)   findn(bt->lchild);
		else if(n>bt->date)   findn(bt->rchild);
		else return bt;
	}
	else
	return NULL;
 } 
void print(tree bt)
{
	if(bt)
	{
		cout<<bt->date;
		if(bt->lchld||bt->rchild)
		{
			cout<<'(';
			print(bt->lchild);
			if(bt->rchild)
				cout<<",";
			print(bt->rchild);
			cout<<')';
		}
	}
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值