二叉树采用二叉链表存储,复制二叉树的算法(树的应用)
来源:互联网 发布:京东商城java笔试题 编辑:程序博客网 时间:2024/05/22 13:56
二叉树采用二叉链表存储,试写出复制一棵二叉树的算法。
话不多说上代码:
#include<stdio.h>
#include<stdlib.h>
typedef struct BiTnode
{
int data;
struct BiTnode* Lchild,*Rchild;
}BiTnode,*BiTree;
void create(BiTree &S)
{
char ch;
char temp;
scanf("%c",&ch);
temp=getchar();
if(ch=='#')
{
S=NULL;
}
else
{
S=(BiTree)malloc(sizeof(BiTnode) );
if(!S)
{
exit(0);
}
else
{
S->data=ch;
create(S->Lchild);
create(S->Rchild);
}
}
return;
}
void Traverse(BiTree T)
{
if(NULL==T)
{
return;
}
else
{
printf("%c ",T->data);
Traverse(T->Lchild);
Traverse(T->Rchild);
}
}
void CopyTree(BiTree S,BiTree &T){
BiTree lptr,rptr;
if (!S) T=NULL;
else{
CopyTree(S->Lchild,lptr); CopyTree(S->Rchild,rptr);
T=(BiTree)malloc(sizeof(BiTnode) );
T->data=S->data;
T->Lchild=lptr;T->Rchild=rptr;
}
}
int main()
{
BiTree T;BiTree S;
printf("创建一个树\n");
create(S);
printf("遍历该树\n");
Traverse(S);
printf("\n");
printf("拷贝该树\n");
CopyTree(S,T);
Traverse(T);
return 0;
}
- 二叉树采用二叉链表存储,复制二叉树的算法(树的应用)
- 采用二叉链表作为二叉树的存储结构
- 二叉链表存储的二叉树的复制
- 二叉树采用二叉链表存储,设计算法判断给定的二叉树是否是一棵完全二叉树,采用先进先出的队列。
- 二叉树的二叉链表存储
- 二叉树的二叉链表存储(java实现)
- 二叉树的复制
- 二叉树的复制
- 二叉树的存储
- 二叉树的存储
- 二叉树的二叉链表存储结构
- 二叉树的链式存储结构-二叉链表
- 题目1485: 二叉链表存储的二叉树
- 数据结构:二叉树的二叉链表存储--Java实现
- 二叉树的二叉链表存储表示
- 二叉树的二叉链表存储及其Java实现
- 二叉树的二叉链表存储结构
- 关于建立二叉链表存储的二叉树:
- 面向对象知识点小记(3)
- Python之list,string,tuple,dict练习题
- diamond 详解
- <转载> 关于js常用方法的封装
- Could not find the main class: org.eclipse.ant.internal.launching.remote.InternalAntRunner
- 二叉树采用二叉链表存储,复制二叉树的算法(树的应用)
- Bootstrap学习笔记 03
- 【codevs 1316】文化之旅
- 利用Spring AOP (aspect) 自定义注解解决日志和签名校验
- Android studio更新后项目报错Error:android-apt plugin is incompatible with the Android Gradle plugin. Pleas
- position定位与轮播图制作
- 自定义View画圆、直线、矩形
- 用脚本实现windows与linux之间文件的传输
- 使用jQuery代码片段