【发布时间】:2014-07-23 03:47:38
【问题描述】:
我正在尝试打印二叉搜索树并获得以下输出:
-19->4->5->6->259->
如何调整遍历功能,使最后一个箭头不打印在输出中?
我在主函数中使用这段代码:
Tree x = new Tree(5);
x.add(6);
x.add(4);
x.add(259);
x.add(-19);
x.traverse(x);
Tree 类如下:
public class Tree {
Tree root;
Tree left;
Tree right;
int value;
public Tree(int value){
this.value=value;
this.left=null;
this.right=null;
}
boolean add(int value){
if (value == this.value)
return false;
else if (value <this.value) {
if (left == null) {
left = new Tree(value);
return true;
} else
return left.add(value);
} else if (value > this.value) {
if (right == null) {
right = new Tree(value);
return true;
} else
return right.add(value);
}
return false;
}
void traverse(Tree root){
if (root.left != null){
traverse(root.left);
}
System.out.printf("%d",root.value);
System.out.printf("->");
if (root.right != null){
traverse(root.right);
}
}
}
【问题讨论】:
-
输出现在是-1945->6->259
标签: tree format binary-search-tree tree-traversal