树的节点bean
二叉树类
public class TreeNode {
//节点的内容
private NodeBean data ;
//左节点
private TreeNode left;
//右节点
private TreeNode rigth;
//构造函数
public TreeNode(){
data = new NodeBean();
}
}
二叉树类
public class Tree {
private TreeNode root;
Tree(){
root = new TreeNode();
NodeBean nodeBean = new NodeBean();
nodeBean.setKey(60);
root.setData(nodeBean);
}
public NodeBean find(int key){
return null;
}
//给树插入数据
public void insert(TreeNode root,TreeNode bean) {
if (root == null) {
root = bean;
} else {
if (bean.getData().getKey() < root.getData().getKey()) {
if (root.getLeft() == null) {
root.setLeft(bean);
} else{
insert(root.getLeft(),bean);
}
} else {
if (root.getRigth() == null) {
root.setRigth(bean);
} else{
insert(root.getRigth(),bean);
}
}
}
}
//中序遍历二叉树
public String middleIterator(TreeNode tree){
StringBuilder sb = new StringBuilder();
if (tree == null) {
return sb.toString();
} else{
sb.append(tree.getData().getKey()+",");
sb.append(middleIterator(tree.getLeft()));
sb.append(middleIterator(tree.getRigth()));
}
return sb.toString();
}
public static void main(String[] args) {
Tree myTree = new Tree();
TreeNode treeNode = new TreeNode();
treeNode.getData().setKey(50);
TreeNode treeNode1 = new TreeNode();
treeNode1.getData().setKey(45);
TreeNode treeNode2 = new TreeNode();
treeNode2.getData().setKey(30);
TreeNode treeNode3 = new TreeNode();
treeNode3.getData().setKey(55);
TreeNode treeNode4 = new TreeNode();
treeNode4.getData().setKey(70);
myTree.insert(myTree.root, treeNode);
myTree.insert(myTree.root, treeNode1);
myTree.insert(myTree.root, treeNode2);
myTree.insert(myTree.root, treeNode3);
myTree.insert(myTree.root, treeNode4);
String result = myTree.middleIterator(myTree.getRoot());
System.out.println(result);
}