精选优质文档-----倾情为你奉上
精选优质文档-----倾情为你奉上
专心---专注---专业
专心---专注---专业
精选优质文档-----倾情为你奉上
专心---专注---专业
心---专注---专业
精选优质文档-----倾情为你奉上
专心---专注---专业
//树后序遍历(递归)
void inoeder(BTNode *T)
{
if(T!=NULL)
{
inoeder(T->firstchild);
printf("%d ",T->data);
inoeder(T->rightsib);
}
}
//树后序遍历(非递归)
void inoeder2(PTree T)
{
int i;
for(i=-1;i>=0;i--)
{
printf("%d ",[i]);
}
}
//层次遍历
void level(PTree T)
{
int i;
for(i=0;i<;i++)
{
printf("%d ",[i]);
}
}
//水平输出二叉树
void PrintBTree(BTNode *root,int level)
{
int i;
if(root!=NULL)
{
PrintBTree(root->rightsib,level+1);
for(i=1;i<=8*level;i++)
printf(" ");
精选优质文档-----倾情为你奉上
精选优质文档-----倾情为你奉上
专心---专注---专业
专心---专注---专业
精选优质文档-----倾情为你奉上
专心---专注---专业
printf("-------%d\n",root->data);
PrintBTree(root->firstchild,level+1);
}
}
//输出树
void print_ptree(PTree tree)
{
int i;
printf(" 序号 结点 双亲\n");
for(i=0;i<=;i++)
{
printf("%8d%8d%8d",i,[i].data,[i].parent);
printf("\n");
}
}
/*用双亲表示法创建树*/
PTree CreatTree(PTree T)
{
int i=1;
int fa,ch;
PTNode p;
for(i=1;ch!=-1;i++)
{
printf("输入第%d结点:\n",i);
scanf("%d,%d",&fa,&ch);
printf("\n");
=ch;
=fa;
++;
[].data = ;
[].parent = ;
}
printf("\n");
printf("创建的树具体情况如下:\n");
print_ptree(T);
return T;
}
/*一般树转换成二叉树*/
BTNode *change(PTree T)
精选优质文档-----倾情为你奉上
精选优质文档-----倾情为你奉上
专心---专注---专业
专心---专注---专业
精选优质文档-----倾情为你奉上
专心---专注---专业
{
int i,j=0;
BTNode p[MAX_TREE_SIZE];
BTNode *ip,*is,*ir,*Tree;
ip=(BTNode *)malloc(sizeof(BTNode));
is=(BTNode *)malloc(sizeof(BTNode));
ir=(BTNode *)malloc(sizeof(BTNode));
Tree=(BTNode *)malloc(sizeof(BTNode));
for(i=0;i<;i++)
{
p[i]=GetTreeNode([i].data);
}
for(i=1;i<
数据结构课程设计之-树与二叉树的转换(共14页) 来自淘豆网www.taodocs.com转载请标明出处.