以二叉链表为存储结构,写一个拷贝二叉树的算法:
voidCopyTree(BinTreeroot,Bin.Tree*newroot)
其中新树的结点是动态申请的,为什么newroot要说明为BinTree型指针?

欢迎免费使用小程序搜题/刷题/查看解析,提升学历,成考自考报名,论文代写、论文查重请加客服微信skr-web

以二叉链表为存储结构,写一个拷贝二叉树的算法:
voidCopyTree(BinTreeroot,Bin.Tree*newroot)
其中新树的结点是动态申请的,为什么newroot要说明为BinTree型指针?

因为调用函数只能进行值传递,当返回类型为void时,就必须把实际参数的地址传给函数,否则函数不会对实际参数进行任何操作,也就得不到所需结果了。所以,newroot要说明为BinTree型指针。 void CopyTree(BinTree root,BinTree*newroot) { //拷贝二叉树 if(root) //如果结点非空 { //按前序序列拷贝 *newroot=(BinTNode*)malloc(sizeof(Bi nTNode)); //生成新结点 (*newroot)一>data=root一>data; //拷贝结点数据 CopyTree(root—>lchild,&(*newroot)一>lchild); //拷贝左子树 CopyTree(root—>rchild,&(*newroot)一>rchild); //拷贝右子树 } else //如果结点为空 *newroot=NULL; //将结点置空 }

访客
邮箱
网址

通用的占位符缩略图

人工智能机器人,扫码免费帮你完成工作


  • 自动写文案
  • 自动写小说
  • 马上扫码让Ai帮你完成工作
通用的占位符缩略图

人工智能机器人,扫码免费帮你完成工作

  • 自动写论文
  • 自动写软件
  • 我不是人,但是我比人更聪明,我是强大的Ai
Top