控制台图形化打印二叉树(c/c++)

二叉树作为一种常见的数据结构,我们在学习的过程中会经常用到.

当我们做课设的时候,能把二叉树图形化的打印出来无疑是一个加分项,所以今天我们就来探讨一下如何图形化的打印出二叉树来.

目录

分析阶段

如何打印

如何将数据存入打印数组

代码实现

存储结构定义

二叉树的创建

求深度

打印功能的代码实现

测试运行


分析阶段

如何打印

我们要完成二叉树的打印,至少要保证所有的节点都能打印在屏幕上而不冲突,而一个二叉树节点最多的情况就是满二叉树.所以我们只需要想好满二叉树如何打印出来便可.

打印二叉树需要以二叉树的遍历为基础,我们要打印出每一个节点就需要对每一个节点进行遍历,在遍历二叉树时递归的先序(中序,后序)更为简单.而控制台打印时只能一行一行的打印,所以我们可以将要打印出来的图形先存储到一个数组中.

存在数组就必定要有大小,数组的大小取决于我们二叉树的高度.

只有一个根节点的二叉树只需要一个1×1的数组就可以存储开

1

当有一个根节点及其左右孩子时,我们便需要5×3的数组来存储(为了美观起见,加上了斜杠和反斜杠)

1
/ \
1 1

让我们在加一层,当二叉树达到三层时,需要13×7的数组来存放

1
/ \
/ \
/ \
1 1
/
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值