Skip to content

Commit c95bc46

Browse files
committed
binary insert success
1 parent 1802c4a commit c95bc46

File tree

22 files changed

+306
-3
lines changed

22 files changed

+306
-3
lines changed
Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
package binarytree;
2+
3+
import binarytree.BinaryTree.Node;
4+
5+
public class TestClass {
6+
public static void main(String[] args) {
7+
BinaryTree<Integer> bt=new BinaryTree<>();
8+
bt.insert(5);
9+
bt.insert(9);
10+
bt.insert(6);
11+
bt.insert(3);
12+
bt.insert(5);
13+
bt.insert(9);
14+
bt.insert(6);
15+
bt.insert(2);
16+
17+
18+
19+
Node node=bt.root;
20+
bt.print(node);
21+
}
22+
}
Lines changed: 53 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,53 @@
1+
package binarytree;
2+
3+
public class BinaryTree<T extends Comparable<T>> {
4+
Node<T> root = null;
5+
6+
public class Node<T extends Comparable<T>> {
7+
Node leftChild;
8+
Node rightChild;
9+
Node parent;
10+
T key;
11+
}
12+
13+
public void print(Node node) {
14+
System.out.println(node.leftChild.key);
15+
}
16+
17+
public void delete(T key){
18+
Node newNode=new Node();
19+
newNode.key=key;
20+
Node tem=root;
21+
22+
while(key!=tem.key){
23+
24+
}
25+
}
26+
27+
public void insert(T key) { // 向二叉树中插入
28+
Node newNode = new Node();
29+
newNode.key = key;
30+
Node tem = root;
31+
Node p = null;
32+
while (tem != null) {
33+
p = tem;
34+
if (newNode.key.compareTo(tem.key) < 0) {
35+
tem = tem.leftChild;
36+
} else {
37+
tem = tem.rightChild;
38+
}
39+
}
40+
newNode.parent = p;
41+
42+
if (p == null) { //二叉树为空时。
43+
root = newNode;
44+
45+
} else if ((newNode.key).compareTo(p.key) < 0) {
46+
47+
p.leftChild = newNode;
48+
} else {
49+
p.rightChild = newNode;
50+
}
51+
}
52+
53+
}
Lines changed: 43 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,43 @@
1+
package binarytree;
2+
3+
public class BinaryTree<T extends Comparable<T>> {
4+
Node<T> root = null;
5+
6+
public class Node<T extends Comparable<T>> {
7+
Node leftChild;
8+
Node rightChild;
9+
Node parent;
10+
T key;
11+
}
12+
13+
public void print(Node node) {
14+
System.out.println(node.leftChild.key);
15+
}
16+
17+
public void insert(T key) { // 向二叉树中插入
18+
Node newNode = new Node();
19+
newNode.key = key;
20+
Node tem = root;
21+
Node p = null;
22+
while (tem != null) {
23+
p = tem;
24+
if (newNode.key.compareTo(tem.key) < 0) {
25+
tem = tem.leftChild;
26+
} else {
27+
tem = tem.rightChild;
28+
}
29+
}
30+
newNode.parent = p;
31+
32+
if (p == null) { //二叉树为空时。
33+
root = newNode;
34+
35+
} else if ((newNode.key).compareTo(p.key) < 0) {
36+
37+
p.leftChild = newNode;
38+
} else {
39+
p.rightChild = newNode;
40+
}
41+
}
42+
43+
}
Lines changed: 47 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,47 @@
1+
package binarytree;
2+
3+
public class BinaryTree<T extends Comparable<T>> {
4+
Node<T> root = null;
5+
6+
public class Node<T extends Comparable<T>> {
7+
Node leftChild;
8+
Node rightChild;
9+
Node parent;
10+
T key;
11+
}
12+
13+
public void print(Node node) {
14+
System.out.println(node.leftChild.key);
15+
}
16+
17+
public void delete(T key){
18+
19+
}
20+
21+
public void insert(T key) { // 向二叉树中插入
22+
Node newNode = new Node();
23+
newNode.key = key;
24+
Node tem = root;
25+
Node p = null;
26+
while (tem != null) {
27+
p = tem;
28+
if (newNode.key.compareTo(tem.key) < 0) {
29+
tem = tem.leftChild;
30+
} else {
31+
tem = tem.rightChild;
32+
}
33+
}
34+
newNode.parent = p;
35+
36+
if (p == null) { //二叉树为空时。
37+
root = newNode;
38+
39+
} else if ((newNode.key).compareTo(p.key) < 0) {
40+
41+
p.leftChild = newNode;
42+
} else {
43+
p.rightChild = newNode;
44+
}
45+
}
46+
47+
}
Lines changed: 58 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,58 @@
1+
package binarytree;
2+
3+
public class BinaryTree<T extends Comparable<T>> {
4+
Node<T> root = null;
5+
6+
public class Node<T extends Comparable<T>> {
7+
Node leftChild;
8+
Node rightChild;
9+
Node parent;
10+
T key;
11+
}
12+
13+
public void print(Node node) {
14+
System.out.println(node.leftChild.key);
15+
}
16+
17+
public void delete(T key){
18+
Node newNode=new Node();
19+
newNode.key=key;
20+
Node tem=root;
21+
22+
while(newNode.key!=tem.key){
23+
if (newNode.key.compareTo(tem.key) < 0) {
24+
tem = tem.leftChild;
25+
} else {
26+
tem = tem.rightChild;
27+
}
28+
}
29+
//tem是最后和给定值相等的节点。
30+
}
31+
32+
public void insert(T key) { // 向二叉树中插入
33+
Node newNode = new Node();
34+
newNode.key = key;
35+
Node tem = root;
36+
Node p = null;
37+
while (tem != null) {
38+
p = tem;
39+
if (newNode.key.compareTo(tem.key) < 0) {
40+
tem = tem.leftChild;
41+
} else {
42+
tem = tem.rightChild;
43+
}
44+
}
45+
newNode.parent = p;
46+
47+
if (p == null) { //二叉树为空时。
48+
root = newNode;
49+
50+
} else if ((newNode.key).compareTo(p.key) < 0) {
51+
52+
p.leftChild = newNode;
53+
} else {
54+
p.rightChild = newNode;
55+
}
56+
}
57+
58+
}
Lines changed: 57 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,57 @@
1+
package binarytree;
2+
3+
public class BinaryTree<T extends Comparable<T>> {
4+
Node<T> root = null;
5+
6+
public class Node<T extends Comparable<T>> {
7+
Node leftChild;
8+
Node rightChild;
9+
Node parent;
10+
T key;
11+
}
12+
13+
public void print(Node node) {
14+
System.out.println(node.leftChild.key);
15+
}
16+
17+
public void delete(T key){
18+
Node newNode=new Node();
19+
newNode.key=key;
20+
Node tem=root;
21+
22+
while(newNode.key!=tem.key){
23+
if (newNode.key.compareTo(tem.key) < 0) {
24+
tem = tem.leftChild;
25+
} else {
26+
tem = tem.rightChild;
27+
}
28+
}
29+
}
30+
31+
public void insert(T key) { // 向二叉树中插入
32+
Node newNode = new Node();
33+
newNode.key = key;
34+
Node tem = root;
35+
Node p = null;
36+
while (tem != null) {
37+
p = tem;
38+
if (newNode.key.compareTo(tem.key) < 0) {
39+
tem = tem.leftChild;
40+
} else {
41+
tem = tem.rightChild;
42+
}
43+
}
44+
newNode.parent = p;
45+
46+
if (p == null) { //二叉树为空时。
47+
root = newNode;
48+
49+
} else if ((newNode.key).compareTo(p.key) < 0) {
50+
51+
p.leftChild = newNode;
52+
} else {
53+
p.rightChild = newNode;
54+
}
55+
}
56+
57+
}
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.

0 commit comments

Comments
 (0)