用c语言实现二叉树的程序,可以输入输出和遍历

论坛 期权论坛 期权     
尼晓健   2018-4-28 02:12   4907   3
分享到 :
0 人收藏

3 个回复

倒序浏览
2#
玩dota的CCN  2级吧友 | 2018-4-30 01:13:00 发帖IP地址来自
#include
#include
#include

const int MaxLength=10;//结点个数不超过10个

typedef struct tree
{
char data;
struct tree *lchild,*rchild;
}tree;
//先序递归 建立二叉树
void Createbitree(tree*  &T)
{
char ch;
ch=getchar();
if(ch=='#')
T=NULL;
else
{
  T=(tree*)malloc(sizeof(tree));
  T->data =ch;
  Createbitree(T->lchild );
  Createbitree(T->rchild );
}
}
//先序递归遍历
void PreOrderTraverse(tree* T)
{
if(T)
{
  coutlchild);
  PreOrderTraverse(T->rchild);
}
}
//中序递归遍历
void InOrderTraverse(tree* T)
{
if(T)
{
  InOrderTraverse(T->lchild);
  coutrchild);
}
}
void PostOrderTraverse(tree* T)
{
if(T)
{
  PostOrderTraverse(T->lchild);
  PostOrderTraverse(T->rchild);
  coutlchild;
   rear=(rear+1)%MaxLength;
  }
  if(p->rchild)//右孩子不为空,入队
  {
   Q[rear]=p->rchild;
   rear=(rear+1)%MaxLength;
  }
}
}
//主函数
void main()
{
cout
3#
随风0127  2级吧友 | 2018-4-30 01:13:01 发帖IP地址来自
用结构表示节点,构造链表,明白二叉数的要求,其它都是一般的c语言语法。
4#
dwjchdu  4级常客 | 2018-4-30 01:13:02 发帖IP地址来自
又是数据结构,蛋疼!
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

积分:
帖子:
精华:
期权论坛 期权论坛
发布
内容

下载期权论坛手机APP