Skip to content

Instantly share code, notes, and snippets.

@racinmat
Last active August 29, 2015 14:11
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save racinmat/11ee2468f2c0d0f7455a to your computer and use it in GitHub Desktop.
Save racinmat/11ee2468f2c0d0f7455a to your computer and use it in GitHub Desktop.
void setTree(int[] values) {
setTree(values, 0, values.length);
}
void setTree(int[] values, int begin, int end) { //pole je např. (2,4,6,8,10,12) a já chci jen (10,12), tak pžedám pole, a begin = 4(index počátečního prvku) a end = 6 (velikost pole+index počátečního prvku)
int length = end-begin;
if(length % 2 == 0) {//je sudé
this.value = values[begin+length/2];
Node left = new Node();
this.left = left;
left.setTree(values, begin, begin+length/2);
Node right = new Node();
this.right = right;
right.setTree(values, begin+length/2+1, begin+length);
} else {
this.value = values[begin+(length-1)/2];
Node left = new Node();
this.left = left;
left.setTree(values, begin+0, begin+(length-1)/2);
Node right = new Node();
this.right = right;
right.setTree(values, begin+(length-1)/2+1, begin+length);
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment