码迷,mamicode.com
首页 > 其他好文 > 详细

前序、中序、后序遍历二叉树

时间:2016-12-04 19:52:55      阅读:239      评论:0      收藏:0      [点我收藏+]

标签:内存   har   log   root   eof   data   com   order   can   

/*(1) 建立一棵含有n个结点的二叉树,采用二叉链表存储
建立结点的结构体类型;

按照先序遍历法将二叉树的序列给出;

动态申请内存空间存储新结点;

建立结点间的关系;
(2) 前序(或中序、后序)遍历该二叉树*/
#include<stdio.h>
#include<malloc.h>

// char DataType;
typedef struct Node
{
char data;
struct Node *Lchild;
struct Node *Rchild;
}BiTNode,*BiTree;

BiTree Creat()
{
BiTNode *root;
// char data;
char ch;
printf("请输入:");
scanf("%c",&ch);
getchar();
if(ch==‘!‘)
root=NULL;
else
{
root=(BiTNode *)malloc(sizeof(BiTNode));
root->data=ch;
root->Lchild=Creat();
root->Rchild=Creat();

}
return root;
}
void PreOrder(BiTree root)
{
if(root!=NULL)
{
printf("%c",root->data);
PreOrder(root->Lchild);
PreOrder(root->Rchild);
}
}
void InOrder(BiTree root)
{
if(root!=NULL)
{
InOrder(root->Lchild);
printf("%c",root->data);
InOrder(root->Rchild);
}
}
void PostOrder(BiTree root)
{
if(root!=NULL)
{
PostOrder(root->Lchild);
PostOrder(root->Rchild);
printf("%c",root->data);
}
}

void main()
{
BiTNode *root=NULL;
root=Creat();
printf("该树的前中后序遍历依次为:\n");
PreOrder(root);
printf("\n");
InOrder(root);
printf("\n");
PostOrder(root);
printf("\n");
}

 

如图所示:

             技术分享

 

前序、中序、后序遍历二叉树

标签:内存   har   log   root   eof   data   com   order   can   

原文地址:http://www.cnblogs.com/yjm5/p/6131055.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!