trees /*returns true if is found in the tree *bool containsconst comparable const return containsxroot )/*insert into the treeduplicates are ignored *void insertconst comparable insertxroot )/*remove from the tree nothing is done if is not found *void removeconst comparable removexroot )figure illustration of public member function calling private recursive member function several of the private member functions use the technique of passing pointer variable using call-by-reference this allows the public member functions to pass pointer to the root to the private recursive member functions the recursive functions can then change the value of the root so that the root points to another node we will describe the technique in more detail when we examine the code for insert we can now describe some of the private methods contains this operation requires returning true if there is node in tree that has item xor false if there is no such node the structure of the tree makes this simple if is emptythen we can just return false otherwiseif the item stored at is xwe can return true otherwisewe make recursive call on subtree of teither left or rightdepending on the relationship of to the item stored in the code in figure is an implementation of this strategy