5555二叉树问题

来源:百度知道 编辑:UC知道 时间:2024/05/31 14:40:09
(1)任意选定一棵不少于8个结点的二叉数,用先序遍历,中序遍历和后序遍历显示该二叉树;
(2)用中序非递归遍历法算法遍历该二叉树,并显示遍历结果。
虽然知道问题很简单但是由于没有学过,所以不会
还请高人指点小妹一下
要C或C++程序

int PreOrderTraverse(Node *node)
{
if(node!=NULL)
{
cout<<node->data<<" ";
if(PreOrderTraverse(node->lchild)) //遍历左子树
if(PreOrderTraverse(node->rchild)) //遍历右子树
return 1;
return 0;
}
else
return 1;
}

int MidOrderTraverse(Node *node)
{
if(node!=NULL)
{
if(MidOrderTraverse(node->lchild))//遍历左子树
cout<<node->data<<" ";
if(MidOrderTraverse(node->rchild))//遍历右子树
return 1;
return 0;
}
else
return 1;
}

int LastOrderTraverse(Node *node)
{
if(node!=NULL)
{
if(LastOrderTraverse(node->lchild)) //遍历左子树
if(LastOrderTraverse(node->rchild)) //遍历右子树
{
cout<<node->data<<" ";
return 1;
}
return 0;
}
else
return 1;
}

非递归的很烦.......