打印avl树的左右值

时间:2013-05-10 09:24:23

标签: c avl-tree

我正在尝试编写一段代码,在整数加载到二叉树中时显示整数。到目前为止我写过这个:

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 );


}

该程序仍然会崩溃。我怎么解决这个问题?我是以错误的方式解决这个问题吗?

编辑:我修复了之前评论中指出的问题

2 个答案:

答案 0 :(得分:2)

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

----------------------------------------------- ------------------------------------------------- ^

您的意思是t->right->data吗?

答案 1 :(得分:1)

如果您正在打印t->left->data,我猜你想要t->right->data而不是t-> left ->right

如果您正在尝试打印指针,请将t-> left ->right投射到intunsigned int会更好)