public class BTree {
public int value;
public BTree parent;
public BTree left;
public BTree right;
public BTree(){}
public BTree(int value) {
this.value = value;
}
}
/**
* 二叉树插入数据
*/
public BTree insert(BTree root, BTree key) {
// 树为空
if (root == null) {
root = key;
root.parent = null;
return root;
}
BTree temp = root;
// 树不为空,查找插入节点
while (root != null) {
// 插入到右侧
if (temp.value < key.value) {
if (temp.right != null) {
temp = temp.right;
} else {
temp.right = new BTree();
temp.right.value = key.value;
temp.right.parent = temp;
break;
}
}
// 插入到左侧
if (temp.value > key.value) {
if (temp.left != null) {
temp = temp.left;
} else {
temp.left = new BTree();
temp.left.value = key.value;
temp.left.parent = temp;
break;
}
}
}
return root;
}
二叉树插入结点
于 2022-03-04 09:36:17 首次发布