q stores the node whose data is greater than a and is smaller than the previously stored data in * q which is successor
if ( ( not q [ 0 ] ) or q [ 0 ] and q [ 0 ] . data > root . data ) : NEW_LINE INDENT q [ 0 ] = root NEW_LINE DEDENT