xxxxxxxxxx
42
function setup() {
createCanvas(400, 400);
background(0);
fill(255);
textSize(10);
root = [4,2,7,1,3,6,9,5,9,2,6,5,3,5,9];
output = [];
n = 0;
i = 0;
while(i < root.length){
pri = i;
i += 2**n;
for(j=i-1;j>=pri;j--){
output.push(root[j])
}
n++;
//draw both trees
for(j=pri;j<i;j++){
xm = (width/2) / (2*(i-pri));
fill(200);
circle(xm + (j-pri)*xm*2, 25 + 50*n, 25);
fill(0);
text(root[j],xm + (j-pri)*xm*2, 25 + 50*n);
fill(255);
circle(width/2 + xm + (j-pri)*xm*2, 25 + 50*n, 25);
fill(0);
text(output[j],width/2 + xm + (j-pri)*xm*2, 25 + 50*n);
}
}
print(output);
}