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

admin2017-11-14  26

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

最新回复(0)