单选题
下面的算法实现了将二叉树中每一个结点的左右子树互换。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(!EMPTY(Q)){
p=delQ(Q);
q=
p->rchild;
p->rchild= p->lchild;
({{U}}
{{U}} {{/U}} {{/U}})=q;
if(p->lchild)
({{U}} {{U}} {{/U}} {{/U}});
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)