C++ 二叉树的赋值与遍历
二叉树主要是对链表,递归函数的灵活运用
下面是简单的二叉树赋值和遍历的代码
main.cpp
#include<iostream>
struct Tree//二叉树结构
{
int Root;//根节点,用来保存数据
Tree *Rbranch;//右树枝
Tree *Lbranch;//左树枝
};
void setvalue(Tree *tree)//二叉树赋值
{
printf("请设置数值:");
scanf("%d",&(tree->Root));
fflush(stdin);
if(tree->Root==0)return;
else
{
tree->Lbranch=new Tree;
tree->Rbranch=new Tree;
printf("%d左树",tree->Root);
setvalue(tree->Lbranch);
printf("%d右树",tree->Root);
setvalue(tree->Rbranch);
}
}
void printvalue(Tree *tree)//二叉树遍历
{
if(tree->Root==0)return;
else
{
printf("%d\n",tree->Root);
printvalue(tree->Lbranch);
printvalue(tree->Rbranch);
}
}
void main()
{
Tree *test=new Tree;
setvalue(test);
puts("赋值结束\n");
printvalue(test);
getchar();
}
运行结果