ok?写出来分都给他package tree;
/**
* 排序二叉树
*/
public class Tree{
public Node root=new Node();
private class Node{
private Node left;
private Node right;
private Integer object;
}
public void add(Integer o){
if(root.object==null){
root.object=o;
return;
}
Node node=root;
while(node.object!=null){
//小的在左边,大的在右边
if(o.compareTo(node.object)<=0){
if(node.left!=null){
node=node.left;
}else{
node.left=new Node();
node=node.left;
}
}else{
if(node.right!=null){
node=node.right;
}else{
node.right=new Node();
node=node.right;
}
}
}
node.object=o;
}}
/**
* 排序二叉树
*/
public class Tree{
public Node root=new Node();
private class Node{
private Node left;
private Node right;
private Integer object;
}
public void add(Integer o){
if(root.object==null){
root.object=o;
return;
}
Node node=root;
while(node.object!=null){
//小的在左边,大的在右边
if(o.compareTo(node.object)<=0){
if(node.left!=null){
node=node.left;
}else{
node.left=new Node();
node=node.left;
}
}else{
if(node.right!=null){
node=node.right;
}else{
node.right=new Node();
node=node.right;
}
}
}
node.object=o;
}}
public class Tree{
public Node root=new Node(); //树的节点类
private class Node{
private Node left;
private Node right;
private Integer object;
} public void add(Integer o){
if(root.object==null){
root.object=o;
return;
}
Node node=root;
while(node.object!=null){
//小的在左边,大的在右边
if(o.compareTo(node.object) <=0){
if(node.left!=null){
node=node.left;
}else{
node.left=new Node();
node=node.left;
}
}else{
if(node.right!=null){
node=node.right;
}else{
node.right=new Node();
node=node.right;
}
}
}
node.object=o;
}
}
return;
}
if (k == 1) {// 先根
System.out.print(node.object + "\t");
bianli(node.left, k);
bianli(node.right, k);
}
if (k == 0) {// 中根
bianli(node.left, k);
System.out.print(node.object + "\t");
bianli(node.right, k);
}
if (k == -1) {// 后根
bianli(node.left, k);
bianli(node.right, k);
System.out.print(node.object + "\t");
}
}我是这样写的,遍历的时候有点问题,楼上楼下的帮忙测测我的代码,谢谢....
if(root.left!=null){
methodName(root.left)
}
if(root.right!=null){
methodName(root.right)
}
}