- 1、本文档共14页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
2014广工数据结构实验报告抽象数据类型解读
数据结构设计性实验报告
课程名称_____数据结构实验 _
题目名称 树
学生学院__ 计算机学院______
专业班级 13计科3班 _
学 号____ ______
学生姓名____ _ _
指导教师_____ ____
2015 年 7 月 3 日
(1)设计任务、要求及所用软件环境或工具;
(2)抽象数据类型定义以及各基本操作的简要描述;
(3)所选择的存储结构描述及在此存储结构上各基本操作的实现;
(4)程序清单(计算机打印),输入的数据及各基本操作的测试结果;
(5)实验总结和体会。
实验报告以规定格式的电子文档书写、打印并装订,排版及图表要清楚、工整。
3.9 思考题
对设计性实验进行总结和讨论,包括本实验的优、缺点,数据存储结构的特点,与其它存储结构之间的比较等。通过总结,可以对抽象数据类型有更全面、深入的认识,这是设计性实验不可缺少的重要内容。这部分内容应作为实验报告中的一个组成部分。
1. 题目:树
所用软件为VS_2013
基本操作:
CreateTree(CSTree T)
功能:创建一棵树
操作结果:构造一个。
Destroy(CSTree T)
初始条件:已存在。
操作结果:销毁。
初始条件:已存在。
操作结果:返回。
初始条件:
操作结果:
Search(CSTree T, TElemType e)
初始条件:已存在
操作结果:若这样的元素不存在,则返回值为0。
初始条件:已存在
操作结果:
InsertChild(CSTree T, int i, CSTree c)
初始条件:已存在且非空,1≤i≤操作结果:
存储结构定义
公用头文件Header.h:
#includestdio.h
#includestdlib.h
#includestdarg.h
#define MAX_TREE_SIZE 100
#define TRUE 1
#define FALSE 0
#define OK 1
#define ERROR 0
#define OVERFLOW -2
typedef int Status;
typedef int TElemType;
树操作头文件:Treefunction.h:
#includeHeader.h
#include stdarg.h
#include string.h
#include stddef.h
//孩子兄弟表示的树
typedef struct CSNode{
char data;
struct CSNode * firstchild, *nextsibling;
}*CSTree;
3. 算法设计
TreeFunction.h:
#includeHeader.h
#include stdarg.h
#include string.h
#include stddef.h
//孩子兄弟表示的树
typedef struct CSNode{
char data;
struct CSNode * firstchild, *nextsibling;
}*CSTree;
/*------------程序中用到的队列------------------------------*/
typedef CSTree QElemType;//队中的元素
typedef struct QNode
{
QElemType data;
struct QNode *next;
}QNode, *QueuePtr;
/*typedef struct TreeName{
char name;
struct CSNode * nametree;
struct TreeName *next;
}TreeName ,*TreeNameP;*/
typedef struct
{
QueuePtr front; //队头指针
QueuePtr rear; //队尾指针
}LinkQueue;
Status InitQueue(LinkQueue Q)//构造一个空队列
{
Q.front = Q.rear = (QueuePtr)malloc(sizeof(QNode));//队头结点
文档评论(0)