Monday, October 22, 2012
print tree level by level
void LevelReverse(BSTreeNode *pRoot)
{
if(NULL==pRoot)
return;
deque<BSTreeNode *> dataque;
dataque.push_back(pRoot);
while(deque.size())
{
BSTreeNode *node= dataque.front();
dataque.pop_front();
cout<<node->data<<" ";
if(node->left)
dataque.push_back(node->left);
if(node->right)
dataque.push_back(node->right);
}
}
void LevelReverselevel(BSTreeNode *pRoot)
{
if(NULL==pRoot)
return;
deque<BSTreeNode *> dataque;
dataque.push_back(pRoot);
dataque.push_back(NULL);
while(deque.size())
{
BSTreeNode *node= dataque.front();
dataque.pop_front();
if(node)
{
cout<<node->data<<" ";
if(node->left)
dataque.push_back(node->left);
if(node->right)
dataque.push_back(node->right);
}
else
{
dataque.push_back(NULL);
cout<<endl;
}
}
cout<<endl;
}
Subscribe to:
Post Comments (Atom)
No comments:
Post a Comment