11

卡塔库栗  •  1年前


#include <iostream>
using namespace std;

struct treenode
{
	int data;     //结点存的值
	treenode *left;    //左子结点指针
	treenode *right;     //右子结点指针
};

//递归函数,用于建树
treenode *buildtree()
{
	int data1;     //结点存的值
	cin>>data1;

	if(data1==-1)
	{
		return nullptr;     // 如果输入-1,则表示结束,返回空指针
	}
	treenode *node =new treenode;
	node->data=data1;  // 将节点的值设置为输入值

	cout<<"shuru"<<" "<<data1<<" "<<"dezuozijiedian"<<endl;
	node->left=buildtree();  // 递归建立左子节点

	cout<<"shuru"<<" "<<data1<<" "<<"deyouzijiedian"<<endl;
	node->right=buildtree();  // 递归建立右子节点

	return node;  // 返回建立好的节点
}

//递归打印树
void printtree(treenode *node)
{
	if(node==nullptr)
	{
		return;
	}
	cout<<node->data<<" ";
	printtree(node->left);
	printtree(node->right);
}


int main()
{
	treenode *root=buildtree();
	printtree(root);
	return 0;

}

评论:

请先登录,才能进行评论