卡塔库栗 • 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;
}
评论:
请先登录,才能进行评论