#LQ0420. 横向打印二叉树

横向打印二叉树

题目描述

二叉树可以用于排序。其原理很简单:对于一个排序二叉树添加新节点时,先与根节点比较,若小则交给左子树继续处理,否则交给右子树。

当遇到空子树时,则把该节点放入那个位置。

比如,10 8 5 7 12 4 的输入顺序,应该建成二叉树如下图所示。

image

本题目要求:根据已知的数字,建立排序二叉树,并在标准输出中横向打印该二叉树。

上图中的数据,应输出:

|-12

10-|

|-8-|

| |-7

|-5-|

|-4

为了便于评卷程序比对空格的数目,请把空格用句点代替:

...|-12

10-|

...|-8-|

.......|...|-7

.......|-5-|

...........|-4

输入描述

输入数据为一行空格分开的 N (N<100) 个整数。

每个数字不超过 104,输入数据中没有重复的数字。

输出描述

输出该排序二叉树的横向表示。 对应上例中的数据,应输出:

输入输出样例

示例

输入

10 5 20

输出

...|-20
10-|
...|-5