用java写的一个简单二叉树的插入和中序遍历

树的节点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);
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值