如何在c?中显示二叉树? 像这样
37
/ \
16 3
/ \ / \
9 26 58 81
\ / \
35 55 74
我可以逐级显示
1 23 4567 89
但是我需要以正确的格式绘制这个BT
void printLevel(NoArvore * node , int level)
{
if(node != NULL && level == 0)
{
printf("%d",node->number);
printf("====");
}
else if(node != NULL){
printLevel(node->left,level-1);
printLevel(node->right,level-1);
}
}
void printElements(NoArvore *node)
{
int i,spaces;
int levelCount = getHeight(node);
int Hspace = getHeight(node);
for(i = 0; i < levelCount;i++)
{
for(spaces = 0; spaces <= (Hspace*Hspace)-(i+3);spaces++)
printf("=");
printLevel(node,i);
printf("\n");
Hspace--;
}
}
使用此代码,我有此输出
==============37====
======16====76====
9====26====58====81====
35====55====74====
答案 0 :(得分:0)
@Stephan Schlecht 有可能使这个功能更通用吗?如果在其他树中使用,我有这个输出
:->