注册 登录
编程论坛 数据结构与算法

自己编的:把二叉树顺序存储转换为链式存储出错。

mhchen2010 发布于 2013-05-18 19:24, 781 次点击
顺序-》链式转换完后,线序遍历出错啊

#include<stdio.h>
#include<stdlib.h>
typedef struct node
{
  node *lchild;
  node *rchild;
  //node *next;
  char data;
}node1;
node lianbiao(node *b,char a[100],int i)
{

  if((i>8)||((a[i])==char(0)))
    b=NULL;
  else
  {
      b=(node *)malloc(sizeof(node));
           b->data=a[i];
               //printf("%c\n",b->data);
              //for(i=1;i<9;i++)
             //b=b->lchild;
                   lianbiao(b->lchild,a,i*2);
                           printf("%c__",b->data);
                                lianbiao(b->rchild,a,i*2+1);
           //b->rchild=2*a[i]+1;
  }
}
void first(node *b)
{
  if(b!=NULL)
  {
    first(b->lchild);
    first(b->rchild);
    printf("%c",b->data);
  }
}
int main()
{
         node1 *b,*p;
             p=b;
                 char a[100]={'a','b','c','d','e','f','g','h'};
                      lianbiao(b,a,1);
                 printf("\n");
      //   printf("%c\n",b->data);
      first(b);
         
}
1 回复
#2
邓士林2013-05-19 20:43
仔细看下
1