可视化树结构

时间:2017-07-04 10:20:01

标签: c tree

我尝试调试使用树结构搜索粒子的程序。如果树结构看起来正确,我想做一个视觉证明。因此,我想在控制台中绘制树结构(仅适用于小树)。

我执行以下操作以通过树结构进行后序步行。

void treeWalk(TreeNode *t, int level){
    if(t != NULL){
        for(int i=0; i<POWDIM; i++){
            if(t->son[i] != NULL){

                printf("down to son %d level %d)\n", i, level);

                treeWalk(t->son[i], level+1);
            }
        }
        // Operation on *t
        if(isLeaf(t) == TRUE)
            print("son is a leaf\n");
        else
            print("son is a node"); 
        // End of operation on *t
    }
}

其中isLeaf(t)是区分粒子(叶子)和没有粒子的节点的函数。 TreeNode是一个定义为:

的结构
typedef struct TreeNode{
    Particle p;
    struct TreeNode *son[DIM*DIM];
}

DIM为2或3。

有没有一种简单的方法可以将这样的树结构打印到控制台?我想象的是:

        0
       / \
      /   \
     0     0
    / \   / \
   x   x x   x

0 个答案:

没有答案