特殊线性表
template <class T>
void BiTree<T>::InOrder(BiNode<T> *root)
{
if (root ==NULL) return; //递归调用的结束条件
else
{
PreOrder(root->lchild); //中序递归遍历bt的左子树
cout<<root->data; //访问根结点的数据域
PreOrder(root->rchild); //中序递归遍历bt的右子树
}
}
//后序遍历
template <class T>
void BiTree<T>::PostOrder(BiNode<T> *root)
{
if (root ==NULL) return; //递归调用的结束条件
else
{
PreOrder(root->lchild); //后序递归遍历bt的左子树
PreOrder(root->rchild); //后序递归遍历bt的右子树
cout<<root->data; //访问根结点的数据域
}
}
int main()
{
BiTree <char>s;
BiNode <char>*a=s.Getroot();
cout<<"前序遍历:";
s.PreOrder(a);
cout<<endl;
cout<<"中序遍历:";
s.InOrder(a);
cout<<endl;
cout<<"后序遍历:";
s.PostOrder(a);
cout<<endl;
return 0;
}
四、运行与调试
a) 在调试程序的过程中遇到什么问题,是如何解决的?
b) 设计了哪些设计数据?测试结果是什么?