复制二叉树
来源:互联网 发布:新零售软件 编辑:程序博客网 时间:2024/05/19 12:38
#include<stdio.h>#include<stdlib.h>typedef struct BiTNode{char data; //数据域struct BiTNode *lchild, *rchild; //左、右孩子指针}BiTNode, *BiTree;void CreatBiTree(BiTree &bt){//构造二叉树char ch;ch=getchar();if(ch=='#')bt=NULL;else{bt=(BiTree)malloc(sizeof(BiTNode));bt->data=ch;CreatBiTree(bt->lchild);CreatBiTree(bt->rchild);} } BiTree Copy(BiTree bt){//复制二叉树 if (bt){ BiTree bt2=(BiTree)malloc(sizeof(BiTNode)); bt2->data=bt->data; bt2->lchild=Copy(bt->lchild); bt2->rchild=Copy(bt->rchild); return bt2; } else return NULL;} void visit(char data){printf("%3c",data);}void PreOrderTraverse(BiTree bt){//先序遍历if(bt){visit(bt->data);PreOrderTraverse(bt->lchild);PreOrderTraverse(bt->rchild);} } int main(){BiTree bt,bt2;printf("请输入数据构造一棵二叉树:\n");CreatBiTree(bt);PreOrderTraverse(bt);printf("\n复制一棵二叉树:\n");bt2=Copy(bt);PreOrderTraverse(bt2);return 0;}
阅读全文
0 0
- 二叉树的复制
- 二叉树的复制
- 复制二叉树
- 复制二叉树
- 二叉树5(复制二叉树)
- 复制二叉树(二叉树)
- 二叉树复制和左右子树互换
- 复制二叉树(非递归实现)
- 二叉树的创建、复制、遍历
- 二叉树复制和左右子树互换
- 二叉树的递归遍历与复制
- 二叉链表存储的二叉树的复制
- 二叉树采用二叉链表存储,复制二叉树的算法(树的应用)
- 二叉树的创建与遍历&二叉树的高度&二叉树每层结点个数&复制二叉树
- 数据结构复习(层次遍历法复制二叉树)
- C++数据结构--二叉树的复制和删除
- 使用栈非递归实现复制二叉树
- 编写复制一颗二叉树的非递归算法
- mircosoft azure
- codeforces 877 Div. 64
- 理解JavaScript闭包
- 完美三元组
- c#中的程序集和命名空间
- 复制二叉树
- 【Python】生成器和杨辉三角
- HDU-1421 搬寝室 (线性dp 好题)
- TheInternet's own boy:Aaron Swartz
- 【Java 设计模式】接口型模式--Adapter(适配器)模式
- c#继承
- Android基础之ImageView
- scikit-learn sklearn 0.18 官方文档中文版
- java链接mysql数据库写登录实例