Compiling the code in IntelliJ Idea:
create a empty project.
->Navigate to 'projectName'->src folder.
->paste the unzipped folder inside the src folder.
->In the above menu select Run->Run...
->select the 'className'



Running the code:
The Driver function works as following:
-> Starts the tree Creation Process.
-> Any positive number we input adds the element into the BST and incase if it already exists it will replace the element;
-> Any Negative number we input removes the element from BST if found else does nothing.
-> inputting 0 would terminate the creation process and would the BST into an array of elements with In-Order Traversal and print the array.




Sample Input - 1:
1 3 5 7 9 2 4 6 8 10 -3 -6 -3 0

Output:
Add 1 : [1] 1
Add 3 : [2] 1 3
Add 5 : [3] 1 3 5
Add 7 : [4] 1 3 5 7
Add 9 : [5] 1 3 5 7 9
Add 2 : [6] 1 2 3 5 7 9
Add 4 : [7] 1 2 3 4 5 7 9
Add 6 : [8] 1 2 3 4 5 6 7 9
Add 8 : [9] 1 2 3 4 5 6 7 8 9
Add 10 : [10] 1 2 3 4 5 6 7 8 9 10
Remove -3 : [9] 1 2 4 5 6 7 8 9 10
Remove -6 : [8] 1 2 4 5 7 8 9 10
Remove -3 : [8] 1 2 4 5 7 8 9 10
Final: 1 2 4 5 7 8 9 10



Sample Input - 2
1 8 9 10 12 44 43 2 3 4 5 6 7 -9 -6 0
Add 1 : [1] 1
Add 8 : [2] 1 8
Add 9 : [3] 1 8 9
Add 10 : [4] 1 8 9 10
Add 12 : [5] 1 8 9 10 12
Add 44 : [6] 1 8 9 10 12 44
Add 43 : [7] 1 8 9 10 12 43 44
Add 2 : [8] 1 2 8 9 10 12 43 44
Add 3 : [9] 1 2 3 8 9 10 12 43 44
Add 4 : [10] 1 2 3 4 8 9 10 12 43 44
Add 5 : [11] 1 2 3 4 5 8 9 10 12 43 44
Add 6 : [12] 1 2 3 4 5 6 8 9 10 12 43 44
Add 7 : [13] 1 2 3 4 5 6 7 8 9 10 12 43 44
Remove -9 : [12] 1 2 3 4 5 6 7 8 10 12 43 44
Remove -6 : [11] 1 2 3 4 5 7 8 10 12 43 44
Final: 1 2 3 4 5 7 8 10 12 43 44

Sample Input - 3
0
The Binary Search Tree is Empty