diff --git a/lab2/src/main/java/ru/spbstu/telematics/java/App.java b/lab2/src/main/java/ru/spbstu/telematics/java/App.java index 146e6f7..175d192 100644 --- a/lab2/src/main/java/ru/spbstu/telematics/java/App.java +++ b/lab2/src/main/java/ru/spbstu/telematics/java/App.java @@ -1,13 +1,12 @@ package ru.spbstu.telematics.java; -/** - * Hello world! - * - */ public class App { public static void main( String[] args ) { - System.out.println( "Hello World!" ); + MyTreeSet tree = new MyTreeSet<>(); + tree.add(10); + tree.add(20); + tree.add(5); } } diff --git a/lab2/src/main/java/ru/spbstu/telematics/java/MyTreeSet.java b/lab2/src/main/java/ru/spbstu/telematics/java/MyTreeSet.java index df7b78e..768aee6 100644 --- a/lab2/src/main/java/ru/spbstu/telematics/java/MyTreeSet.java +++ b/lab2/src/main/java/ru/spbstu/telematics/java/MyTreeSet.java @@ -18,4 +18,31 @@ public class MyTreeSet> { public MyTreeSet() { root = null; } + + public void add(E element) { + if (root == null) { + root = new Node(element); + return; + } + + Node currentNode = root; + Node parentNode = null; + + while (currentNode != null) { + int cmp = element.compareTo(currentNode.value); + if (cmp == 0) { + return; + } + parentNode = currentNode; + currentNode = cmp < 0 ? currentNode.left : currentNode.right; + } + + Node newNode = new Node(element); + + if (element.compareTo(parentNode.value) < 0) { + parentNode.left = newNode; + } else { + parentNode.right = newNode; + } + } }