二叉树的建立,从动态二叉链表转化为静态二叉链表
来源:互联网 发布:java元注解 编辑:程序博客网 时间:2024/03/29 14:08
动态二叉链表
typedef char ElemType;
typedef struct BiNode
{
ElemType data;
struct BiNode *lchild;
struct BiNode *rchild;
}BiNode,*Bitree;
typedef struct
{
ElemType data;
int lchild;
int rchild;
}BiTr;
热茶树的建立采用递归的方法
void createBiTree(BiTree &T)
{
ElemType ch='0';
printf("请输入字符!\n");
if(!flag)
{
ch=getchar();
getchar();
}
else
{
printf("结束输入\n");
T=NULL;
return;
}
if(ch=='#')
{
flag=1;
T=NULL;
return ;
}
else
{
T=(BiTree)malloc(sizeof(BiTNode));
if(T==NULL)
{
printf("系统空间不足\n");
exit(-1);
}
T->data=ch;
createBiTree(T->lchild);
printf("-------------------------\n");
createBiTree(T->rchild);
}
}
静态二叉树的建立通过遍历动态二叉树来建立
二叉树转化函数
void turn(BiTree &T1,BiTr &T2,int i)
{
int t=i;
if(T1)
{
T2[t].data=T1->data;
if(T1->lchild==NULL)
T2[t].lchild=0;
else
T2[t].lchild=++tg;
if(T1->rchild==NULL)
T2[t].rchild=0;
else
T2[t].rchild=++tg;
if(T1->lchild!=NULL)
turn(T1->lchild,T2,i+1);
if(T1->rchild!=NULL)
turn(T1->rchild,T2,i+1);
}
}
- 二叉树的建立,从动态二叉链表转化为静态二叉链表
- 建立二叉树的二叉链表
- 二叉树------二叉查找树转化为双向链表
- 把二叉树转化为双向链表的源码
- 二叉树转化为排序的双向链表
- 关于建立二叉链表存储的二叉树:
- 二叉链表的建立
- 二叉树-----静态二叉链表(游标)-----建立(先序)+遍历(7种)
- 微软面试题001-二叉树转化为链表
- 二叉搜索树转化为双向链表
- 二叉搜索树转化为双向链表
- 平衡二叉树转化为双向链表
- 将二叉树转化为双向链表
- 二叉搜索树转化为双向链表
- 二叉查找树转化为双向链表
- 面试题怎么将二叉树转化为链表
- 二叉搜索树转化为有序双向链表
- 搜索二叉树转化为双向链表
- 栈和队列详解
- Learning Python 019 生成器(Generators)和 yield
- Android init.rc文件解析过程详解(二)
- MySql优化之my-innodb-heavy-4G.ini 中文配置详解
- 命令行看xml文件
- 二叉树的建立,从动态二叉链表转化为静态二叉链表
- 命令行看数据文件
- 大数据Hive-日志分析系统流程
- Android Studio解决导入项目非常慢的问题
- Opengl 光栅化 渲染管线 着色器 名词解释
- Chapter 1: Why Do DevOps?
- C++二叉排序树之查找结点
- leetcode-344. Reverse String
- 树的遍历