update: implement search recursiv
This commit is contained in:
parent
cc226739a3
commit
86761e75b4
@ -7,6 +7,37 @@ public class BinaryTree {
|
||||
insert(content);
|
||||
}
|
||||
|
||||
public boolean search(int value) {
|
||||
if (rootNode == null) {
|
||||
return false;
|
||||
}
|
||||
|
||||
return searchRecursiv(rootNode, value);
|
||||
}
|
||||
|
||||
private boolean searchRecursiv(Node node, int value) {
|
||||
int content = node.getContent();
|
||||
|
||||
if (value == content) {
|
||||
return true;
|
||||
} else if (value > content) {
|
||||
Node leftNode = node.getLeftNode();
|
||||
if (leftNode == null) {
|
||||
return false;
|
||||
}
|
||||
return searchRecursiv(leftNode, value);
|
||||
} else if (value < content) {
|
||||
Node rightNode = node.getRightNode();
|
||||
if (rightNode == null) {
|
||||
return false;
|
||||
}
|
||||
return searchRecursiv(rightNode, value);
|
||||
} else {
|
||||
System.out.println("Something went wrong!");
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
public void insert(int content) {
|
||||
if (rootNode == null) {
|
||||
Node newNode = new Node(content);
|
||||
|
||||
24
Main.java
24
Main.java
@ -6,5 +6,29 @@ public class Main {
|
||||
binaryTree.insert(22);
|
||||
binaryTree.insert(23);
|
||||
binaryTree.insert(55);
|
||||
binaryTree.insert(72);
|
||||
binaryTree.insert(1);
|
||||
binaryTree.insert(7);
|
||||
binaryTree.insert(3);
|
||||
binaryTree.insert(8);
|
||||
binaryTree.insert(16);
|
||||
|
||||
|
||||
System.out.println(binaryTree.search(42));
|
||||
System.out.println(binaryTree.search(23));
|
||||
System.out.println(binaryTree.search(22));
|
||||
System.out.println(binaryTree.search(23));
|
||||
System.out.println(binaryTree.search(55));
|
||||
System.out.println(binaryTree.search(72));
|
||||
System.out.println(binaryTree.search(1));
|
||||
System.out.println(binaryTree.search(7));
|
||||
System.out.println(binaryTree.search(3));
|
||||
System.out.println(binaryTree.search(8));
|
||||
System.out.println(binaryTree.search(16));
|
||||
|
||||
// Test values not in tree
|
||||
System.out.println(binaryTree.search(2));
|
||||
System.out.println(binaryTree.search(44));
|
||||
System.out.println(binaryTree.search(100));
|
||||
}
|
||||
}
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user