如何在Java中打印二叉树,以便输出如下:
4
/ \
2 5
Run Code Online (Sandbox Code Playgroud)
我的节点:
public class Node<A extends Comparable> {
Node<A> left, right;
A data;
public Node(A data){
this.data = data;
}
}
Run Code Online (Sandbox Code Playgroud) 是否有一些*nix工具或perl/php库可以让您轻松创建如下所示的目录树可视化?
www
|-- private
| |-- app
| | |-- php
| | | |-- classes
| | | +-- scripts
| | |-- settings
| | +-- sql
| +-- lib
| +-- ZendFramework-HEAD
+-- public
|-- css
|-- images
+-- scripts
Run Code Online (Sandbox Code Playgroud) 我有简单的二叉搜索树
public class BNode
{
public int item;
public BNode right;
public BNode left;
public BNode(int item)
{
this.item = item;
}
}
public class BTree
{
private BNode _root;
private int _count;
private IComparer<int> _comparer = Comparer<int>.Default;
public BTree()
{
_root = null;
_count = 0;
}
public bool Add(int Item)
{
if (_root == null)
{
_root = new BNode(Item);
_count++;
return true;
}
else
{
return Add_Sub(_root, Item);
}
}
private bool Add_Sub(BNode Node, int Item)
{ …Run Code Online (Sandbox Code Playgroud) 所以,过去一个月我一直在学习C#,而目前我正在与Binary Trees进行斗争.
我的问题是,如何将我的树调用到控制台窗口?我试过Console.WriteLine(tree.Data);但这似乎写54到我的控制台窗口.
如果你需要检查一下,这是我的代码:
主文件
static void Main(string[] args)
{
//Creating the Nodes for the Tree
Node<int> tree = new Node<int>('6');
tree.Left = new Node<int>('2');
tree.Right = new Node<int>('5');
Console.WriteLine("Binary Tree Display");
Console.WriteLine(tree.Data);
Console.ReadLine();
}
Run Code Online (Sandbox Code Playgroud)
节点类
class Node<T> where T : IComparable
{
private T data;
public Node<T> Left, Right;
public Node(T item)
{
data = item;
Left = null;
Right = null;
}
public T Data
{
set { data = value; }
get { return data; …Run Code Online (Sandbox Code Playgroud) 在树形结构中打印树的最简单方法是什么?如...
some root
/ | \
child1 child2 child 3
/
anotherchild / \
yup another
Run Code Online (Sandbox Code Playgroud)
即使手工格式化也很难.如何让程序以这种方式打印树?