Non Recursive Function to find the mirror show of binary tree

void MerrorTree::merrorview(node **root)
{
std::stack stakright ;
std::stack stackroot;
node *tempnode = NULL;
node *temproot = NULL;
if((*root)->right (*root)->right)
{ tempnode = *root;
while(tempnode)
{ if(tempnode->left)
{ stackroot.push(tempnode);
if(tempnode->right)
stakright.push(tempnode->right);
tempnode = tempnode->left ;
} else if(tempnode->right)
{ stackroot.push(tempnode);
stakright.push(tempnode->right);
tempnode = tempnode->right ;
}
else {
if(stackroot.size())
{ temproot = stackroot.top();
stackroot.pop();
swap(&temproot);
} if(stakright.size())
{ tempnode = stakright.top();
stakright.pop();
}
else
break;
} } }}

Comments

Popular posts from this blog

XML Programming using IXMLDOMDOCUMENT in vc++

Get correct OS version on win 8.1 without using GetVesionEx API (deprecated )