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:");
    }
}
相关推荐
是苏浙2 小时前
零基础入门C语言之C语言内存函数
c语言·开发语言
闭着眼睛学算法4 小时前
【双机位A卷】华为OD笔试之【排序】双机位A-银行插队【Py/Java/C++/C/JS/Go六种语言】【欧弟算法】全网注释最详细分类最全的华子OD真题题解
java·c语言·javascript·c++·python·算法·华为od
AI柠檬5 小时前
C语言基于MPI并行计算矩阵的乘法
c语言·c++·算法
czy87874757 小时前
C语言实现观察者模式
c语言·观察者模式
代码雕刻家7 小时前
1.4.课设实验-数据结构-单链表-文教文化用品品牌2.0
c语言·数据结构
侯小啾8 小时前
【22】C语言 - 二维数组详解
c语言·数据结构·算法
qq_479875438 小时前
Linux time function in C/C++【2】
linux·c语言·c++
yuuki2332339 小时前
【数据结构】双向链表的实现
c语言·数据结构·后端
ol木子李lo9 小时前
Doxygen入门指南:从注释到自动文档
c语言·c++·windows·编辑器·visual studio code·visual studio·doxygen
代码雕刻家10 小时前
1.6.课设实验-数据结构-栈、队列-银行叫号系统2.0
c语言·数据结构