well from what i understand keeping in mind i don't know c++ we start with a root node (in this case 1) then anything smaller than it should go on the left and anything bigger than it should go on the right so in the example they have the 2 going to the left of 1 ok they might of decided to flip the "rule" so the 2 would go to the left. but next line they but the three on the right of the 1.