一、构建节点
为了方便引用而不用专门通过set和get方法引用,我们直接将变量都定义为public的
package two_tree;
public class Node {
public long data;
public Node leftChild;
public Node rightChild;
/*
* 构造方法
*/
public Node(long data) {
this.data=data;
}
}
二、构建树
package two_tree;
public class Trees {
public Node root;
/*
* 插入节点
*/
public void insert(long value) {
//封装节点
Node newNode = new Node(value);
//引用当前节点
Node current = root;
//引用父节点
Node parent;
//如果root为null,也就是第一插入的时候
if(root==null) {
root = newNode;
return;
}else {
while(true) {
//父节点指向当前节点
parent = current;
//如果当前节点指向的节点数据比插入的要大,则往左走
if(current.data > value) {
current = current.leftChild;
if(current == null) {
parent.leftChild = newNode;
return;
}
}else {
current = current.rightChild;
if(current==null) {
parent.rightChild = newNode;
return;
}
}
}
}
}
//寻找节点
private void find(long value) {
}
//删除节点
private void delete() {
}
}
三、用测试程序运行测试
package two_tree;
public class Test {
public static void main(String[] args) {
// TODO Auto-generated method stub
Trees trees = new Trees();
trees.insert(10);
trees.insert(20);
trees.insert(15);
trees.insert(3);
System.out.println(trees.root.data);
}
}