以下为《线性表实验报告》的无排版文字预览,完整格式请下载
下载前请仔细阅读文字预览以及下方图片预览。图片预览是什么样的,下载的文档就是什么样的。
河 北 科 技 大 学
实 验 报 告
19级 专业 班学号 2021年 9 月 28 日
姓 名 教 师 郑某某
实验名称 单某某操作 成 绩
实验类型 设计型实验 批阅教师 郑某某
一、实验目的
掌握线性表的抽象数据类型描述。
掌握线性表的链式存储结构的特点,头结点的作用。
掌握单某某的C语言的类型描述形式。
重点掌握单某某的基本运算的实现,对插入和删除运算能进行性能分析。
掌握几个典型的复杂运算,如:归并、逆置、排序等。
二、实验内容
1.给出单某某的存储类型描述。
2.实现单某某的初始化、插入、删除等基本运算。
3.实现单某某的输入、输出运算(最好采用重载输入输出流方式)。
4.实现单某某的逆置、归并、排序等复杂运算。
5.编写主程序实现对这些运算的测试。
三、实验环境
硬 件:CPU I 5 内存4GB,硬盘512GB
操作系统:Windows XP
软件编程环境:VC++6.0
四、实验步骤
1.用VC建立一个控制台应用程序,命名为List。
2.新建一个头文件,命名为datastru.h,包含标示符常量的定义和Status类型定义。
3.新建一个头文件,命名为listlink.h,包含单某某的存储类型描述和基本运算的声明。
4.新建一个程序文件,命名为listlink.cpp,包含单某某基本运算的实现和复杂运算的实现。
5.新建一个主程序文件,命名为listlinkMain.cpp,包含对这些运算的测试。
五、程序源代码(对复杂的设计思想描述要有较详细的注释)
#include
#include
#include
#define MAXSIZE 100
#define ElemType int
#define Status int
//单某某的数据结构
typedef struct LNode
{
ElemType data;
struct LNode *next;
}LNode, *LinkList;
//初始化
int InitList(LinkList &L)
{
L = (LNode *)malloc(sizeof(LNode));
L->next = NULL;
return 1;
}
//输出
void PrintList(LinkList L)
{
printf("当前单某某的所有元素:");
LNode *p;
p = L->next;
while (p != NULL)
{
printf("[%d] ", p->data);
p = p->next;
}
printf("\n");
}
//尾插法创建单某某
int Create(LinkList &L)
{
int n, e;
LNode *temp = L;//声明一个指针指向头结点,用于遍历链表
printf("请输入要输入元素的个数:");
scanf("%d", &n);
for (int i = 1; i 请点击下方选择您需要的文档下载。
以上为《线性表实验报告》的无排版文字预览,完整格式请下载
下载前请仔细阅读上面文字预览以及下方图片预览。图片预览是什么样的,下载的文档就是什么样的。