Advertisement
Guest User

Untitled

a guest
Dec 21st, 2014
143
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. private Node divideArray(int[] values) {
  2. Node rootNode = new Node();
  3.  
  4. int root = values.length / 2;
  5.  
  6. rootNode.setValue(values[root]);
  7.  
  8. if (values.length == 0) return null;
  9.  
  10. if (values.length == 1) return rootNode;
  11.  
  12. int[] valuesLeft = new int[root];
  13. //manual array copy
  14. for (int i = 0; i < root; i++) {
  15. valuesLeft[i] = values[i];
  16. }
  17. rootNode.setLeft(divideArray(valuesLeft));
  18.  
  19. int[] valuesRight = new int[values.length - root - 1];
  20. //manual array copy
  21. for (int i = 0; i < valuesRight.length; i++) {
  22. valuesRight[i] = values[root + 1 + i];
  23. }
  24. rootNode.setRight(divideArray(valuesRight));
  25.  
  26. }
  27.  
  28. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement