二叉树的建立,从动态二叉链表转化为静态二叉链表

来源:互联网 发布: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);
        }
  }

0 0
原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 发旋哪里头发少怎么办 每次洗头发都掉好多怎么办 10岁儿童掉头发怎么办 1岁半宝宝掉头发怎么办 头发掉发严重怎么办吃什么 掉了一块钱很气怎么办 头发软又少怎么办盘头 头发出油掉的厉害怎么办 头发很油又少怎么办 18岁头发发量少怎么办 头发少长的慢怎么办 额头大发际线高怎么办 前额两边的头发变少了怎么办 吃减肥药掉头发怎么办 牙长智齿吃饭疼怎么办 头发稀少容易掉发怎么办 大把掉发头发稀少怎么办 头发掉厉害洗生发灵更掉怎么办? 额头两侧和头顶头发少怎么办 额头前面头发少怎么办天生的 头两边的碎头发怎么办 30岁后头发少怎么办 生完孩子头发少怎么办 1岁宝宝头发少怎么办 头顶上的头发少怎么办呢 22岁头顶头发稀少怎么办 头发又稀又少怎么办 头顶的头发越来越少怎么办 四岁宝宝头发稀少怎么办 一岁宝宝头发稀少怎么办 三岁宝宝头发稀少怎么办 头发油急着出门怎么办 长出的头发毛糙弯曲怎么办 头发薄还掉头发怎么办 头发少掉的厉害怎么办 一洗头就掉很多头发怎么办 生完孩子掉头发怎么办 甲减引起的肥胖怎么办 18岁掉头发严重怎么办 5岁儿童掉头发严重怎么办 18头发掉的严重怎么办