实验报告四

作者在 2006-12-27 19:25:00 发布以下内容

起止日期:2006 -2007 学年 1学期
系别:计算机科学与技术学院 班级05信息管理与信息系统 学号0527403015 姓名朱旭东

1需求分析

采用二叉链表示法完成:
 1
创建生成二叉树
 2
给出二叉树的前、中、后根遍历结果
 3
求二叉树中根到指定节点的路径。2源程序

#include<stdio.h>
#include<stdlib.h>
typedef int TElemType;
typedef struct BitNode
{TElemType data;
struct BitNode *lchild,*rchild;
}BitNode,*BitTree;
//
创建生成二叉树
BitTree CreateBiTree(void)
{
 BitTree bt;TElemType x;
 scanf(\"%d\",&x);
 if(x==-1)bt=NULL;
 else
 {bt=(BitTree)malloc(sizeof(BitNode));
 bt->data=x;
 bt->lchild=CreateBiTree();
 bt->rchild=CreateBiTree();
 }
 return bt;
}
//
前根遍历结果
void PreOrderTraverse(BitTree bt)
{
 if(bt!=NULL)
  {printf(\"%d\",bt->data);
  PreOrderTraverse(bt->lchild);
  PreOrderTraverse(bt->rchild);
  }
}
//
中根遍历结果
void InOrderTraverse(BitTree bt)
{
 if(bt!=NULL)
  {InOrderTraverse(bt->lchild);
  printf(\"%d\",bt->data);
  InOrderTraverse(bt->rchild);
 }
}
//
后根遍历结果
void PostOrderTraverse(BitTree bt)
{
 if(bt!=NULL)
 {PostOrderTraverse(bt->lchild);
 PostOrderTraverse(bt->rchild);
 printf(\"%d\",bt->data);
 }
}

 

 

 

默认分类 | 阅读 843 次
文章评论,共0条
游客请输入验证码