复制一树为新树

发布时间:2024年01月16日

复制一树为新树

#include "allinclude.h"
 
void CopyBiTree(BiTree T, BiTree &TT)
{  // Add your code here
if(T==NULL)
  return;
TT=(BiTree)malloc(sizeof(T));
LQueue Q1,Q2;
BiTree temp=T;
InitQueue_LQ(Q1);
InitQueue_LQ(Q2);
EnQueue_LQ(Q1,T);
EnQueue_LQ(Q2,TT);
 
while(QueueEmpty_LQ(Q1)!=TRUE)
{
  DeQueue_LQ(Q1,T);
  DeQueue_LQ(Q2,T);  
  T->data=T->data;
  
  if(T->lchild!=NULL)
    {
      T->lchild=(BiTree)malloc(sizeof(T));
      EnQueue_LQ(Q1,T->lchild);
      EnQueue_LQ(Q2,T->lchild);
    }
  
   if(T->rchild!=NULL)
    {
      T->rchild=(BiTree)malloc(sizeof(T));
      EnQueue_LQ(Q1,T->rchild);
      EnQueue_LQ(Q2,T->rchild);
    }
    
}
 
TT=temp; 
}

文章来源:https://blog.csdn.net/laocooon/article/details/135630490
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。