title: Delete and find a node from binary tree
body: <p>I am working on creating "find" and "delete" functions for a normal Binary Tree ( not search).  Below is the code for the find function:</p>
  
  <pre><code>bool Find_Node(FileItem * item, Node *current )  //function starts with root
  {
      if (current-&gt;getNameItem() == item-&gt;getName() )  //getNameItem() retrieves the data name in node.
      {
          currentItem = current;   //I have set currentItem as an attribute ( pointer to a Node ) in the tree class. I created it to point to the node I want to find.
          return true;
      }
      Node* child [2];
  
      child[0] = current-&gt;getLeft();
      child[1] = current-&gt;getRight();
  
      bool res = false;
  
      for (int i = 0; res == false &amp;&amp; i &lt; 2 ; i++) 
      {   
          if(child[i] != NULL)
              res = Find_Node(item, child[i]);
      }
      return res;
  }
  </code></pre>
  
  <p>Is there any better way to find a node? and may someone please help me with the delete function.</p>