Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- private Node divideArray(int[] values) {
- Node rootNode = new Node();
- int root = values.length / 2;
- rootNode.setValue(values[root]);
- if (values.length == 0) return null;
- if (values.length == 1) return rootNode;
- int[] valuesLeft = new int[root];
- //manual array copy
- for (int i = 0; i < root; i++) {
- valuesLeft[i] = values[i];
- }
- rootNode.setLeft(divideArray(valuesLeft));
- int[] valuesRight = new int[values.length - root - 1];
- //manual array copy
- for (int i = 0; i < valuesRight.length; i++) {
- valuesRight[i] = values[root + 1 + i];
- }
- rootNode.setRight(divideArray(valuesRight));
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement