C语言 | 二叉树打印效果,控制台打印

1. 打印效果

复制代码
# 1.demo1
      a
    /    \
   b      c
  /  \    /  \
 d   e   f   /
输入: a b d / / e / / c f / / /
打印效果:
a
├──L:b
│  ├──L:d
│  └──R:e
└──R:c
│  ├──L:f


# 2.demo2
      a
    /    \
   b      c
  /  \    /  \
 d   e   f   /
g h  /\  /i
输入: a b d g / / h / / e / / c f / i / / /
打印效果:相当于拿着左下角掂起来,沾到右上角墙上,其余自然下垂后,恢复原二叉树效果。
a
├──L:b
│  ├──L:d
│  │  ├──L:g
│  │  └──R:h
│  └──R:e
└──R:c
│  ├──L:f
│  │  └──R:i

2. 打印函数

复制代码
//打印二叉树
void printTree(BtNode* root, int depth, char* prefix) {
    if (root == NULL) return;
    
    // 打印当前节点前的基础缩进
    for (int i = 1; i < depth; i++) {
        //printf("%s", (i == depth-1) ? "│  " : "   ");
        printf("%s", "│  ");
    }
    // 打印当前节点的值
    printf("%s%c\n", prefix, root->data);

    // 递归打印子节点
    if (root->lchild || root->rchild) {
        printTree(root->lchild, depth + 1, "├──L:");
        printTree(root->rchild, depth + 1, "└──R:");
    }
}
相关推荐
ChiaWei Lee3 小时前
【C语言】函数和数组实践与应用:开发简单的扫雷游戏
java·c语言·游戏
四念处茫茫4 小时前
【C语言系列】C语言内存函数
c语言·开发语言·算法·visual studio
小呀小萝卜儿5 小时前
2025-03-13 学习记录--C/C++-PTA 练习2-9 整数四则运算
c语言·学习
小呀小萝卜儿5 小时前
2025-03-15 学习记录--C/C++-PTA 练习3-4 统计字符
c语言·学习
水瓶丫头站住6 小时前
C++和C的区别
c语言·c++
光军oi7 小时前
不像人做的题————十四届蓝桥杯省赛真题解析(上)A,B,C,D题解析
c语言·蓝桥杯·深度优先
脚踏实地,坚持不懈!7 小时前
Linux内核,mmap_pgoff在mmap.c的实现
linux·c语言·开发语言
dot to one7 小时前
深入刨析C++ stl::stack 、stl::queue 及 priority_queue
c语言·开发语言·数据结构·c++·算法·visual studio
笑口常开xpr14 小时前
C 语 言 --- 二 维 数 组 的 应 用
c语言·开发语言
啊吧怪不啊吧16 小时前
C++相关基础概念之入门讲解(上)
c语言·开发语言·c++