6.46.txt

来自「数据结构实验 如下: Status Fibonacci(int k, int」· 文本 代码 · 共 52 行

TXT
52
字号
void CopyBiTree(BiTree T, BiTree &TT)
/* 基于层次遍历的非递归复制二叉链表 */
{
    BiTNode *p,*q;
    Queue u1,u2;
    InitQueue(u1);
    InitQueue(u2);
    
    p=T;
    if(!p) {
        TT=NULL;
        return ;
    }
    q=(BiTNode *)malloc(sizeof(BiTNode));
    q->data=p->data;
    TT=q;
    if(p->lchild){
        EnQueue(u1,p->lchild);
        q->lchild=(BiTNode *)malloc(sizeof(BiTNode));
        EnQueue(u2,q->lchild);
    }
    else q->lchild=NULL;
    
    if(p->rchild){
        EnQueue(u1,p->rchild);
        q->rchild=(BiTNode *)malloc(sizeof(BiTNode));
        EnQueue(u2,q->rchild);
    }
    else q->rchild=NULL;
    
    while(!QueueEmpty(u1)&&!QueueEmpty(u2)){
        DeQueue(u1,p);
        DeQueue(u2,q);
        
        q->data=p->data;
        
        if(p->lchild){
            EnQueue(u1,p->lchild);
            q->lchild=(BiTNode *)malloc(sizeof(BiTNode));
            EnQueue(u2,q->lchild);
        }
        else q->lchild=NULL;
        
        if(p->rchild){
            EnQueue(u1,p->rchild);
            q->rchild=(BiTNode *)malloc(sizeof(BiTNode));
            EnQueue(u2,q->rchild);
        }
        else q->rchild=NULL;
    }
    
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?