回 帖 发 新 帖 刷新版面

主题:创建二叉树

请问谁有二叉树创建过程的完整程序啊?
我刚开始学,一点都不懂的。
希望各位帮帮忙
不胜感激

回复列表 (共2个回复)

沙发

可以用递归啊 
按书上的算法自己写 有问题再问啊

板凳


bitree *CREATREE()                                 /*生成二叉树*/
{ char ch;
  int front,rear;
  bitree *root,*s;
  root=NULL;
  front=1;rear=0;
  ch=getchar();
  while(ch!='$')
  { s=NULL;
    if(ch!='@')
    {
        s=malloc(sizeof(bitree));
        s->data=ch;
        s->lchild=NULL;
        s->rchild=NULL;
    }
    rear++;
    Q[rear]=s;
    if(rear==1) root=s;
    else
    {
        if(s&&Q[front])
            if(rear%2==0) Q[front]->lchild=s;
            else
                Q[front]->rchild=s;
        if(rear%2==1) front++;
    }
    ch=getchar();
  }
  return root;
}

我来回复

您尚未登录,请登录后再回复。点此登录或注册