void inOrder(struct Tree *root) {
stack<Tree *> s;
Tree *curr = root;
while (curr != NULL || s.empty() == false)
{
while (curr != NULL)
{
s.push(curr);
curr = curr->left;
}
cout << s.top()->data << " ";
curr = s.top()->right;
s.pop();
}
}