Skip to content

Commit 236cf4a

Browse files
committed
SS25
1 parent c5469e7 commit 236cf4a

File tree

1 file changed

+37
-2
lines changed
  • aVL/src/main/java/com/mycompany/avl

1 file changed

+37
-2
lines changed

aVL/src/main/java/com/mycompany/avl/AVL.java

Lines changed: 37 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -13,18 +13,53 @@ public class AVL {
1313
Node root;
1414
class Node{
1515
int item;
16-
int height;
16+
int balance;
1717
Node left, right;
1818

1919
public Node(int key){
2020
item = key;
21-
height = 0;
21+
balance = 0;
2222
left = null;
2323
right = null;
2424
}
2525
}
2626

2727
void insert(int number){
28+
if(root == null){
29+
root = new Node(number);
30+
root.balance = 0;
31+
return;
32+
}
33+
if(root.left == null && root.right == null){
34+
if(number < root.item){
35+
Node left = new Node(number);
36+
left.balance = 0;
37+
root.left = left;
38+
root.balance = 1;
39+
return;
40+
} else {
41+
Node right = new Node(number);
42+
right.balance = 0;
43+
root.right = right;
44+
root.balance = -1;
45+
return;
46+
}
47+
}
48+
if(root.left == null){
49+
if(number < root.item ){
50+
Node left = new Node(number);
51+
left.balance = 0;
52+
root.left = left;
53+
root.balance++;
54+
return;
55+
}else if(number < root.left.item) {
56+
Node left = new Node(root.item);
57+
left.balance = 0;
58+
root.left = left;
59+
root.item = number;
60+
root.balance++;
61+
}
62+
}
2863
if(number < root.item){
2964
if(root.height <= 0){
3065
AVL a = new AVL();

0 commit comments

Comments
 (0)