【发布时间】:2014-04-09 21:57:19
【问题描述】:
所以基本上我有一个用字符数组填充的 AVL 树,并且我知道如何使用递归函数 print_inorder 打印所有数组。我现在要做的是用一个函数打印这些数组,该函数接收一个 int 值,告诉一次要打印多少个数组,然后期待用户采取一些行动来继续打印更多数组。
void print_inorder(pointer* p)
{
if (p!=NULL)
{
print_inorder(p->left);
printf("%s\n",p->name);
print_inorder(p->right);
}
}
这是我的打印功能。我想做的是创建一个链接列表,然后循环遍历它,但我确信这不是最好的方法。 提前谢谢你。
【问题讨论】:
-
pointer类型是如何定义的? -
创建一个链表对我来说听起来不错。实际上,您还有另一个类似于
print_inorder的函数,但不是printf("%s\n",p->name),而是AddToList(thelist, p)。 -
它只是一个指向结构的指针...我放了 * 但实际情况是我定义了一个指向 avl 树的指针,所以它真的很像 (avl_pointer p)