垂直打印树
Printing Tree Vertically
知道如何打印这样的树吗?
2
/
/
/
/
7 5
/
/
2 6 9
/ /
5 8 4
水平解决方案工作得很好,因为您可以使用预先排序的深度优先搜索(如您所示)从每个子树构建树,这与控制台一次输出一行的方式非常吻合。
垂直解比较困难,因为你需要知道树末端的所有节点来计算全宽度。因此,您需要分析树,存储数据,然后开始绘图。
另一种选择,虽然可能不那么"优雅"(取决于定义),但将使用类似curses库的东西,其中显示列和行的概念是可互换的。
相关文章:
- 如何循环打印顶点结构
- 为什么在popback()操作之后,它仍然打印完整的矢量
- 如何在c++中打印目录
- 有一个打印语句的函数是一种糟糕的编程实践吗
- 在线编译器中的分段C++没有打印消息
- 在C++中打印指向不同基元数据类型的指针的内存地址
- 这个指针和内存代码打印是什么?我不知道是打印垃圾还是如何打印我需要的值
- 如何将结构插入到集合中并打印集合的成员
- 在循环C++中指定字符串之后,不会打印该字符串
- 以螺旋方式打印矩阵的程序.(工作不好)
- 从控制台中删除最后打印的元素
- 如何使用Crypto++并为RSA返回可打印的字节/字符数组
- 如何仅使用对象名称打印特定于对象的成员
- 回溯C++不打印函数,因此文件
- 如何在c++中仅使用for循环打印此代码的垂直直方图
- 垂直打印文字
- 在C中垂直打印字节数组
- 垂直打印树
- 如何在c++中打印垂直直方图
- 使用光标操作打印垂直直方图c++ [ncurses][解决了无ncurses]