华中科技大学·计算机13级·数据结构实验报告 下载本文

内容发布更新时间 : 2024/5/20 14:10:58星期一 下面是文章的全部内容请认真阅读。

课 程 设 计 报 告

课程名称: 数据结构

专业班级: CS1308 学 号: U201315009 姓 名: 陈劲龙 指导教师: 周时阳 报告日期: 2015-4-17

计算机科学与技术

目录

实验一 基于顺序结构的线性表实现 1.1问题描述 1.2系统设计 1.3.系统实现 1.4效率分析

实验二 基于链式结构的线性表实现 2.1问题描述 2.2系统设计 2.3系统实现 2.4效率分析

实验三 基于二叉链表的二叉树实现 3.1问题描述 3.2系统设计 3.3 系统实现 3.4 效率分析 四 实验总结与评价

1 1 1 1 10 11 11 11 11 16 20

错误!未定义书签。 错误!未定义书签。 错误!未定义书签。

20 20

实验一 基于顺序结构的线性表实现

1.1问题描述 基于顺序存储结构,实现线性表的基本的、常见的运算。 1.2系统设计 1.2.1提供14个功能,分别是:

1. IntiaList 8. PriorElem 2. DestroyList 9. NextElem 3. ClearList 10. ListInsert 4. ListEmpty 11. ListDelete 5. ListLength 12. ListTrabverse 6. GetElem 13. SwitchList 7. LocatElem 0. Exit 1.2.2物理结构为顺序存储结构,数据元素为包含一个整型变量item1的结构体:

typedef struct{ int item1; }Elemtype;

typedef struct{ Elemtype * elem; int length; int listsize; }SqList;

1.2.3构建线性表之前先声明一个头结点,用于存储该表的基本信息和首结点地址:

SqList L1, L2; 1.2.4本系统使用了如下预定义常量:

#define TRUE 1 #define FALSE 0 #define OK 2 #define ERROR -1 #define OVERFLOW -2

typedef int status; // Status 是函数的类型,其值是函数结果状态代码

/*------------------------------------------------------*/

#define LIST_INIT_SIZE 100 // 线性表存储空间的初始分配量 #define LISTINCREMENT 10 // 线性表存储空间的分配增量

#define FILE_SAVE_PATH \

//表示数据文件在同级目录下的SqList.txt中

1.3.系统实现

1