当前位置:首页 > 《数据结构实验指导书》
班级:学号:姓名:
《数据结构》课程上机实践与习题
目 录
第一部分 上机实践 ................................................................................................. 1
数据结构上机实践编程指南 .............................................................................. 1 实验一 线性表 .................................................................................................. 2 实验二 栈与队列 ............................................................................................ 12 实验三 二叉树 ................................................................................................ 20 实验四 图 ........................................................................................................ 27 实验五 查 找 ................................................................................................ 38 实验六 排 序 ................................................................................................ 43 上机实践报告成绩汇总表 ................................................................................ 48
第一部分 上机实践
第一部分 上机实践
数据结构上机实践编程指南
为了更好地帮助同学们做好数据结构实验,在此给出数据结构上机编程的一般思路和程序的基本框架结构。
一、程序框架结构
具体程序结构按先后顺序可分为以下3个部分: 1.预定义常量及类型
对于相关的常量与类型(如状态类型)进行定义,如: #define OK 1 #define ERROR 0
#define OVERFLOW –2 #define TRUE 1 #define FALSE 0 typedef int Status;
本实践教材中,将以上状态常量和类型保存在文件“dataStru.h”中,在使用时利用如下命令将此文件包括至程序文件中来:
#include \
2.相关数据结构类型及其基本操作的定义
此部分包括对所使用的数据结构给出其类型定义及其基本操作函数定义。同学们可将该部分定义完成后保存成相应的头文件,以备以后使用。例如,对于已定义的顺序表,将其保存为“sqList.h”。
3.主调程序的定义
此部分给出相关的主调程序,在此程序中定义相关数据结构变量,并通过调用其操作函数,实现设计目的。在使用相应的数据结构前应利用#include 命令将其所在头文件包含到本程序文件中来。
例如,将顺序表文件包含至文件中来: #include \
二、实验环境说明
本指导书所给出的示例程序均为VC环境下完成的,若使用其它C开发环境,则部分语句要进行少许修改。例如,对于如下的文件包含命令:
#include “malloc.h” 则在TC3.0环境中需改为:
#include “alloc.h”
-1-
第一部分 上机实践
实验一 线性表
实验时间: 月 日
一、实验目的
1.掌握顺序表及其基本操作的实现; 2.掌握链表及其基本操作的实现;
3.通过上机实践进一步加深对线性表的顺序存储方式及链式存储方式的理解; 4.通过上机实践加强利用数据结构解决实际应用应用问题的能力。
二、实验题目与要求
1.实验题目一:顺序表的定义及其相关操作算法的实现
要求:编程实现顺序表的类型定义及顺序表的初始化操作、插入操作、删除操作、取元素操作、输出操作等,并对其进行验证。
2.实验题目二:链表的定义及其相关操作算法的实现
要求:编程实现单链表(或双向链表、循环链表)的类型定义及其初始化操作、插入操作、删除操作、取元素操作、输出操作等,并对其进行验证。
3.实验题目三:一元多项式的表示与运算
要求:利用线性表(顺序表或链表)实现一元多项式的类型定义及其相加等运算。 说明:实验题目一与实验题目二为必做内容;实验题目三为选做内容。
三、实验内容
1.顺序表的实现
(1)顺序表类型及基本操作的定义。将如下代码设计完整,并保存为“sqList.h”。 //顺序表类型及其基本操作函数的定义 #define InitSize 100 #define INCR 20 typedef struct
{ LElemType *Elem; int Length; int ListSize;
}SqList; //SqList类型为顺序表类型
Status InitList_sq(SqList &L) //初始化操作函数定义 { //代码略 }
Status ListEmpty_sq(SqList L) //判空操作函数定义 { //代码略 }
-2-
共分享92篇相关文档