数据结构-树的简单实现实验报告
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
计算机科学与技术系
实验报告
专业名称计算机科学与技术
课程名称《数据结构》
项目名称树的创建和实现
班级
学号
姓名
同组人员无
实验日期
一、实验目的与要求:
(简述本次实验要求达到的目的,涉及到的相关知识点,实验的具体要求。)(一)实验目的:
应用树来实现对数据的操作
(二)实验要求:
用树实现对数据的排序。
(三)实验环境:
VC++6.0.
二、实验内容
#include
#include
#define maxsize 10
//#define NULL 0
typedef struct node{
char data;
struct node *lchild, *rchild;
}Bitree;
Bitree *Q[maxsize];
Bitree *creatree(){
char ch;
int front, rear;
Bitree *T, *s;
T = NULL;
front = 1; rear = 0;
ch = getchar();
while(ch !='#')
{
s =NULL;
if(ch != '@')
{
s= (Bitree*)malloc(sizeof(Bitree));
s->data = ch;
s->lchild = s->rchild = NULL;
}
rear++;
Q[rear] = s;
if(rear == 1)
T = s;
else
{
if(s!=NULL && Q[front] != NULL)
if(rear % 2 == 0)
Q[front] ->lchild = s;
else
Q[front] ->rchild = s;
if(rear % 2 == 1)
front ++;
}
ch = getchar();
}
return T;
}
//先序遍历。
void preorder(Bitree *T)
{
if(T)
{
printf("%c", T->data);
preorder(T->lchild);
preorder(T->rchild);
}
}
void main()
{
Bitree *t;
t = creatree();
printf("先序遍历:\n");
preorder(t);
}
}
三、实验分析与小结
(实验过程中的问题分析、产生的原因以及解决方法;实验结果分析;有待优化思路)
(一)实验结果截图
(二)总结
通过树数据结构的特点,我们可以对数据实现排序。
四、其它
得分(百分制)