2013-05-10 90 views
1

我正试图编写一段代码来显示整数,因为它们被加载到二叉树中。到目前为止,我写了这个:打印avl树的左值和右值

node*t;  
t = NULL; 

for(j = 0; j < 33; j++) 
{ 
    printf ("Table %d \n", j+1); 
    printf ("LineNum Left Data Right\n"); 
    printf ("%5d %5d %5d %5d", t->num, t->left->data, t->data, t-> right -> data);  
    t = insert(j, a[j], t); 


} 

程序仍保持,虽然崩溃。我该如何解决这个问题?我是否以这种错误的方式去做?

编辑:我解决了这一问题在之前的评论

+0

'左 - > right'是指向一个节点不是'你的树的int'领域。 – ouah 2013-05-10 09:27:04

+0

您是否尝试过传递'int'而不是'struct node *'? – 2013-05-10 09:27:09

+0

谢谢,它现在编译,但程序不断崩溃。我是否以这种错误的方式去做? – user1816546 2013-05-10 09:28:17

回答

2
printf ("%5d %5d %5d %5d", t->num, t->left->data, t->data, t-> left ->right); 

指出------------------------- -------------------------------------------------- ---------------------^

你的意思是t->right->data

+0

是的,我现在修正了...程序仍然崩溃 – user1816546 2013-05-10 09:30:13

+1

似乎失败了,因为't'使用了单位化,尝试打印值afert插入 – 2013-05-10 09:36:01

+0

我试过了,仍然不断崩溃...我是否打印这些错误的方式? – user1816546 2013-05-10 09:42:55

1

鉴于如何为您打印t->left->data,我猜你想要t->right->data而不是t-> left ->right

如果你要打印的指针,投t-> left ->rightintunsigned int会更好)