【发布时间】:2020-04-17 21:24:26
【问题描述】:
假设我有一个这样的struct:
struct Node {
int val = 0;
std::vector<Node *> _children{};
};
如何以整洁漂亮的方式将其打印到stdout?例如像tree 程序打印目录结构的方式。
parent/
├── child1
│ ├── cchild1
│ ├── cchild2
│ ├── child3
│ │ └── child1
│ └── child4
│ ├── child1
│ └── child2
└── child2
└── cchild1
└── ccchild1
它不必完全按照上面的格式,因为我在这里没有偏好。
这个问题与this 不同,因为我想漂亮地打印一棵有多个孩子的树。
【问题讨论】:
-
如何以整洁美观的方式将其打印到标准输出? -- 这不是一个重点问题。您到底遇到了什么问题,您尝试过什么,等等?
-
您仍然可以使用this。您只需将
ifs 放置在right和left中,并使用一个遍历_children的 for 循环。 -
只需递归跟踪当前深度的节点并根据深度使用合适的前缀打印它们。究竟是什么问题?您尝试了哪些方法,但效果如何?