关于二叉树的问题
struct tree
{
int data;
struct tree *lchild,*rchild;
}t1,t2,t3,t4,t5,t6,t7;
main()
{
struct tree t1,t2,t3,t4,t5,t6,t7;
t1.data=1;
t1.lchild=0;
t1.rchild=0;
t2.data=2;
t2.lchild=t1;
t2.rchild=t4;
t3.data=3;
t3.lchild=0;
t3.rchild=0;
t4.data=4;
t4.lchild=t3;
t4.rchild=t5;
t5.data=5;
t5.lchild=0;
t5.rchild=0;
t6.data=6;
t6.lchild=t2;
t6.rchild=t7;
t7.data=7;
t7.lchild=0;
t7.rchild=0;
}
这样建立一个二叉树应该没问题吧??但是系统报错no operator defined which takes a right-hand operand of type 'struct tree' (or there is no acceptable conversion) 每个lchild 和rchild的赋值都这样报错???
求高手指教一下!!
[解决办法]
- C/C++ code
struct tree { int data; struct tree *lchild,*rchild;};main(){ struct tree t1,t2,t3,t4,t5,t6,t7; t1.data=1; t1.lchild=0; t1.rchild=0; t2.data=2; t2.lchild=&t1; t2.rchild=&t4; t3.data=3; t3.lchild=0; t3.rchild=0; t4.data=4; t4.lchild=&t3; t4.rchild=&t5; t5.data=5; t5.lchild=0; t5.rchild=0; t6.data=6; t6.lchild=&t2; t6.rchild=&t7; t7.data=7; t7.lchild=0; t7.rchild=0;}