首页 > 解决方案 > 以可爱的方式打印一棵树(C)

问题描述

我通过以下方式制作了一棵二叉树:

typedef struct BstNode {
   int data;
   struct BstNode *left;
   struct BstNode *right;
}Tnode;

typedef Tnode *BST;

BST InsertNode(BST tree,int info){
   if(tree==NULL){
       tree=MakeNode(info);
       return tree;
   }
   else if (InfoGreater(info,tree->data)==0){
       tree->left= InsertNode(tree->left,info);
   }
   else {
       tree->right=InsertNode(tree->right,info);
   }
   tree;
}

//info greater only checks what value is bigger and returns 1 if info is greater 0 in other cases 

我想打印它。我真的不知道该怎么做,但我希望我能像这样打印它

               5
        3            7
    2       4    6       8

此外,该函数必须只调用通用树根。喜欢

void print_BTS(BTS tree){
...
}

我在这个网站上四处搜索,但我真的找不到任何东西,或者我发现它的实现方式太复杂了。我发现了一些东西,但不是在 C 语言中,只有 c# 或 java 等等。

标签: ctreebinary-tree

解决方案


推荐阅读