怎么用c语言打印树的图形,C语言打印二叉树

由于代码很多,所以分开几篇介绍了,看不懂的可以看上一篇,本篇加入了树枝,看起来更直观,不过加这个树枝,算那个横线和空格花了我不少时间,不过最后能写出来,挺爽。

上一篇http://blog.csdn.net/xzongyuan/article/details/21945749

C语言打印二叉树

在广度遍历的时候,有非常繁杂的计算符号的方法,要看懂可能得花时间。

(1)整个设计的难点在sprintf函数运用。

sprintf(buf,"%*s",5,"|")里面的%*s表示填充*个符号,个数和符号分别在字符串后面表示。

sprintf(buf,"%*.s",5,"|")里面的%*s表示截取*个符号,个数和符号分别在字符串后面表示。这里要注意,如果你给的符号的size小于截取的个数*,会内存溢出。我一开始就是没区分这个,搞了很久。

很多地方我都用了*.s这种形式,这是为啥我要单独声明一些很长的字符串的原因,如“                          ”,“|||||||||||||”,这是了给它截取用的。当然,可以不用声明这么长,我只是想着以后可能会扩展这个程序,所以就定义长了。

(2)要注意字符指针的初始化,很容易发生段错误

参考段错误解决办法:http://blog.csdn.net/xzongyuan/article/details/22046591

insert node to queue root is 15

insert :57

insert :80

insert :76

insert :12

insert :0

insert :68

insert :51

insert :22

insert :97

insert :19

insert :48

insert :53

creat tree succuess!Tree heigh is:5

_______________________

breath begin,enter root:

由于CSDN的字符大小和终端的不一样,所以用图片展示效果。这是一个编好的程序,可以直接gcc编译,然后运行

0818b9ca8b590ca3270a3433284dd417.png

代码地址:http://download.csdn.net/detail/xzongyuan/7097013

为了可重用,我把它重构了,代码地址:http://download.csdn.net/detail/xzongyuan/7101527

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值