- 0
- 0
- 约6.2千字
- 约 21页
- 2023-10-14 发布于湖北
- 举报
数据结构实验报告
实验名称:数据结构实验
学号:jhkjjh
姓名:gfgj
指导老师:kjuy
计算机与信息学院
实验1线性表的抽象数据类型的实现
实验目的
掌握线性表的顺序存储结构和链式存储结构;
熟练掌握顺序表和链表基本算法的实现;
掌握利用线性表数据结构解决实际问题的方法和基本技巧;
按照实验题目要求独立正确地完成实验内容(编写、调试算法程序,提交程序清单及及相关实验数据与运行结果);
实验环境
计算机、C语言程序设计环境
实验学时
4学时,必做实验。
实验内容
一、顺序表的基本操作实现实验
要求:数据元素类型ElemType取整型int。按照顺序存储结构实现如下算法(各算法边界条件和返回结果适当给出):
创建任意整数线性表(即线性表的元素值随机在键盘上输入),长度限定在20之内;
打印(遍历)该线性表(依次打印出表中元素值);
在线性表中查找第i个元素,并返回其值;
在线性表中第i个元素之前插入一已知元素;
在线性表中删除第i个元素;
求线性表中所有元素值(整数)之和;
二、链表(带头结点)基本操作实验
要求:数据元素类型ElemType取字符型char。按照动态单循环链表结构实现如下算法(各算法边界条件适当给出):
创建任意字符型有序(递增排序)单循环链表(即链表的字符元素随机在键盘上输入),长度限定在15之内;
打印(遍历)该链表(依次打印出表中元素值);
在链表中查找第i个元素,i合法返回元素值,否则,返回FALSE;
在链表中查找与一已知字符相同的第一个结点,有则返回TRUE,否则,返回FALSE;
在链表中按照有序方式插入一已知字符元素;
在线性表中删除第i个结点;
计算链表的长度。
实验步骤
先给出重点部分的流程图(不是整个程序,是部分),然后把编写的代码贴上来(注意要编辑下,不要直接放这里)
1.线性表的删除操作
void DelList(SqList *L,int i)//---------线性表的删除操作
{
int j;
if(i1||iL-last);
printf(删除错误,无此元素);
for(j=i;j=L-last;j++)
L-Elem[j]=L-Elem[j+1];
L-last--;
}
2.线性表的插入运算
Status ListInsert(SqList *L, int i, ElemType e)//-------插入元素操作
{
int j;
if(i1||iL-last+2)//此处必须为Last+2,当i为last+3时,操作不合法
{
printf(插入操作不合法);
return(ERROR);
}
if(L-last=ListSize-1)
printf(表已满无法插入);
for(j=L-last;j=i-1;j--)
L-Elem[j+1]=L-Elem[j];
L-Elem[i-1]=e;
L-last++;
return OK;
}
3.为插法建立单链表
void CreateFromTail(LinkList L)//--尾插法建表
{
LinkList r,s;
int flag=1;
ElemType c;
r=L;//动态指针,指向表尾
while(flag)
{
printf(请输入一个结点(字符型));
c=getchar();
if(c!=$)//$为结束符
{
s=(LinkList)malloc(sizeof(Node));
s-data=c;
r-next=s;
r=s;
}
else
{
flag=0;
r-next=NULL;
}
}//while
}//CreateFromTail
4.单链表的删除操作
int DelList(LinkList L,int i,ElemType *e)//-- ---删除操作
{
LinkList p,r;
int k=0;
p=L;
while(p-next!=NULLki-1)
{
p=p-next;
k++;
}
if(k!=i-1)
{
printf(删除非法);
return ERROR;
}
r=p-next;
p-next=p-next-next;
*e=r-date;
free(r);
return OK;
}
5.单链表的插入操作
status InsList(LinkList L,int i,ElemType e)
{
LinkList p,s;
int k;
p=L;
k=0;
while(p-next!=NULLki-1)
{
p=p-next;
k++;
您可能关注的文档
- 动态分区存储管理实验报告.doc
- 中国B2B 电子商务网站调查报告(2009-2010)( 简版)(下载).doc
- 自然辩证法总结.doc
- M10水泥砂浆配合比设计报告.doc
- 电力系统及其自动化实验报告-仿真.doc
- 关于中学生上网情况的调查报告.doc
- 人教版《道德与法治》七年级上册4.2 深深浅浅话友谊.ppt
- 实验报告模板_9.doc
- 公共管理学 第七章 公共管理规范共34页.ppt
- 数字电路课程设计报告_5.doc
- 统编版2025年春季新版七年级下册历史 第21课 明清时期的科技与文化 教案.docx
- 雅安雨城法院书记员招聘考试真题库2025.docx
- 2026届安徽合肥市高考一模高考语文试卷试题(含答案详解).pdf
- 【专题研究】国内外城市更新研究的最新进展.pdf
- 【专题研究】老旧城区改造居民满意度影响因素研究——以遂宁市老旧城区改造为例.pdf
- 【专题研究】关于旧城空间改造理论与创意设计案例的几点思考.pdf
- 西藏拉萨市高三下学期期末物理备考重点详解.docx
- 泾县法院书记员招聘笔试真题2025.pdf
- 2026年春【苏教版】-六年级数学下册-面积的变化.pptx
- 2026年春【苏教版】-六年级数学下册-7.pptx
原创力文档

文档评论(0)