在c中用括号连续打印
printing in a row with parentheses in c
我需要你的帮助。
我需要按顺序打印一个二叉树——那样:
如果我只有一个节点打印:(3)
如果我向这棵树插入一个节点 2- 它将打印:((2)<(3))
如果我向这棵树插入一个节点 7- 它将打印:((2)<(3)>(7))
如果我向这棵树插入一个节点 6- 它将打印:((2)<(3)>((6)<(7)))
如果我向这棵树插入一个节点 9- 它将打印:((2)<(3)>((6)<(7)>(9)))
我需要以递归方式打印它,但我迷失了括号
有人对此有想法或线索吗?
谢谢 (:
这是一个 in-order 操作。
- 如果你当前节点有任何children,打印
(
.
- 如果有左边child,打印它的结构;然后
<
.
- 在括号中打印当前节点。
- 如果有一个正确的child,打印
>
然后打印它的结构。
- 如果当前节点有children,打印')'。
您正在寻找中序二叉树遍历。
看一下代码,在需要的时候加上括号和尖括号<>
。
void inorder(struct tree *root)
{
if(root != NULL)
{
inorder(root->left);
printf(" %d",root->info);
inorder(root->right);
}
return;
}
我需要你的帮助。 我需要按顺序打印一个二叉树——那样:
如果我只有一个节点打印:(3)
如果我向这棵树插入一个节点 2- 它将打印:((2)<(3))
如果我向这棵树插入一个节点 7- 它将打印:((2)<(3)>(7))
如果我向这棵树插入一个节点 6- 它将打印:((2)<(3)>((6)<(7)))
如果我向这棵树插入一个节点 9- 它将打印:((2)<(3)>((6)<(7)>(9)))
我需要以递归方式打印它,但我迷失了括号 有人对此有想法或线索吗?
谢谢 (:
这是一个 in-order 操作。
- 如果你当前节点有任何children,打印
(
. - 如果有左边child,打印它的结构;然后
<
. - 在括号中打印当前节点。
- 如果有一个正确的child,打印
>
然后打印它的结构。 - 如果当前节点有children,打印')'。
您正在寻找中序二叉树遍历。
看一下代码,在需要的时候加上括号和尖括号<>
。
void inorder(struct tree *root)
{
if(root != NULL)
{
inorder(root->left);
printf(" %d",root->info);
inorder(root->right);
}
return;
}