下面的算法实现了将二叉树中每一个结点的左右子树互换。addQ(Q,bt)为进队的函数,delQ(Q)为出队的函数,empty(Q)为判别队列是否为空的函数,空白处应填的内容是( )。 typedef struct node{

admin2019-01-30  29

问题 下面的算法实现了将二叉树中每一个结点的左右子树互换。addQ(Q,bt)为进队的函数,delQ(Q)为出队的函数,empty(Q)为判别队列是否为空的函数,空白处应填的内容是(    )。
    typedef struct node{
         int data;
         struct node*lchild,*rchild;
    }btnode;
    void exchange(btnode*bt){
         btnode*p,*q;
         if(bt){
              addQ(Q,bt);
              while(TEMPTY(Q)){
                   p=delQ(Q);
                   q=p->rchild;
                   p->rchild=p->lchild;
              (   (1)   )=q;
            if(p->lchild)
            (   (2)   );
            if(p->rchild)addQ(Q,p->rchild);
        }
    }
}

选项 A、p->lchild,delQ(Q,p->lchild)
B、p->rchild,delQ(Q,p->lchild)
C、p->lchild,addQ(Q,p->lchild)
D、p->rchild,addQ(Q,p->lchild)

答案C

解析
转载请注明原文地址:https://kaotiyun.com/show/k7Ri777K
0

相关试题推荐
最新回复(0)