用c语言输出树

来源:百度知道 编辑:UC知道 时间:2024/07/06 23:45:15
按照 书上面那样 输出树的结构 结点之间用斜线相连
请问怎么办
给个思路和代码都ok

进入图形模式,
画根结点,
置根结点位当前结点,
深(广)度递归判断当前结点的下一个结点是左子树还是右子树,
是左子树的在当前结点的左下方一定位置画该结点,
是右子树的在当前结点的右下方一定位置画该结点,
然后置该结点为当前结点,
继续递归……

假设输出这棵树:
.....7
..../.\
...5...6
../\.../\
.1..2.3..4
其中.代表空格

首先不论你用什么方法(先根,中根,后根),将树读入一个数组
然后计算各层的结点数,当然也可以在遍历的同时,将各层的结点数用一个数组保存起来
然后用for循环控制输出的层数(注意,将"/","\"所占层数也考虑进去),
然后具体输出各层,至于每个结点,以及"/"和"\"间各空多少空格,
自己多输出几次看看效果,调整就可以了

理论上是可以的,用左右斜线画线,用控制符控制格式