不要怀疑,结构体作为形参可以按引用传递!

写了个程序,出了问题,还以为结构体不能按引用传递。事实证明,我错了,我错误的原因也找到了,跟结构体的引用没有任何关系。罗嗦一点,把二叉树的非递归后序遍历代码和自己写的链栈GetTop函数贴在下面:

template <class ElemType>
void PostOrderTraverse_I(TreeNode<ElemType>* t,void (*Visit)(ElemType& e))
{
    StackNode<ElemType> curnode,topnode;
    LinkStack<StackNode<ElemType> > S;
    TreeNode<ElemType>* p=t;
    do
    {
        while(p)
        {
            curnode.ptr=p;
            curnode.tag=0;
            S.Push(curnode);
            p=p->LeftChild();
        }
        S.GetTop(topnode);
        while(!S.StackEmpty()&&topnode.tag==1)
        {
            S.Pop(curnode);
            p=curnode.ptr;
            Visit(p->data);
            S.GetTop(topnode);
        }
        if(!S.StackEmpty())
        {
            
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值