- 1、本文档共13页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
《数据结构》实验报告
院系 应用科技学院 专业 电子信息工程
姓名 陈高雪 学号120352010054
10 级 电信 班 2011 年
1.实验目的
1.掌握线性表的基本运算。
2.掌握顺序村存储的概念,学会对顺序存储数据结构进行操作。
3.加深对顺序存储数据结构的理解,逐步培养解决实际问题的编程能力。
2.需求分析
要求用c语言编写一个演示程序,首先建立一个空表,然后根据用户选择,能够在线性表的任意位置实现插入元素、删除元素、初始化线性表、查找某一元素的在线性表中得位置。
(1)建立线性表的功能
输入的形式和输入的范围:调用出入函数,输入插入的位置和数值,用逗号隔开
输出的形式:调用输出函数,按顺序输出线性表所插入的值,以及所对应功能的值。
(2)插入功能
输入的形式和输入值的范围:输入一个表示位置的正整数和一个表示插入元素值的正整数,两个正整数之间用逗号隔开,出入位置的和法取值范围是1sizesize+1。
输出的形式:如果输入的参数合法,则按顺序显示插入后的线性表,否则显示错误。
(3)删除功能
输入的形式和输入值的范围:输入一个表示删除位置或要删除的元素值的正整数,删除位置或删除元素值的取值范围是1sizeesize+1或线性表中的元素,否则显示参数错误的信息。
输出的形式:如果输入参数合法,则按顺序显示删除后线性表中的各个元素值,否则显示参数错误的信息。
(4)查找功能
输入的形式和输入值的范围:输入一个要查找的元素值,元素值的合法取值范围是正整数。
输出的形式:如果存在要查找的元素,则显示要查找元素的位置,否则显示参数错误信息。
3.概要设计
(1)为了实现上述程序功能,需要第一一个简化的线性表抽象数据类型:
Typedef struct LinearList{
Int *list;
Int size;
Int MAXSIZE;
}List;
基本操作:
初始化线性表ListInit (L)
操作前提:L是一个未初始化的线性表
操作结果:将L初始化成一个空的线性表
向空表指定位置插入元素 ListInsert (L)
操作前提:L是一个还有位置的线性表
操作结果:将元素插入到指定位子并输出线性表
删除指定元素值 ListDelete_1(L)
操作前提:线性表L存在
操作结果:将线性表中指定的元素值删除,并输出线性表
删除指定位置的元素值 ListDelete_2(L)
操作前提:线性表L存在
操作结果:将线性表中指定位置的元素值删除,并输出线性表
查找线性表中的元素 ListFind(L)
操作前提:线性表L存在
操作结果:在线性表L中查找指定元素e,若存在该元素返回该元素在表中的位置,否则提示错误
输出线性表元素 OutputList(L)
操作前提:线性表存在
操作结果:输出整线性表L的所有元素值
(2)本程序共有6函数:
主函数main()
初始化线性表函数InitList()
输出函数OutputList()
插入函数ListInsert()
删除函数ListDelete()
查找函数ListFind()
各函数的关系如下:
主函数Main()调用初始化线性表函数InitList()、插入函数ListInsert()、删除函数ListDelete()、查找函数ListFind()、查找函数ListFind()
插入函数ListInsert()调用输出函数OutputList(L)
删除函数ListDelete()调用输出函数OutputList(L)
查找函数ListFind()调用输出函数OutputList(L)
(3)主函数的伪码
Main()
{ 定义一个字符参数 ch;
定义整形元素位置参数 i;
定义整形参数e,j=1;
说明一个线性表L;
循环做下面处理,直到读入的为‘y’时推出:
{
根据具体选项,读入需要的数据,做下面的选择处理,知道循环结束:
{
根据所选择选项调用相关的函数进行处理,然后输出处理后的线性表以及所要执行的内容。
}
}
}
4.详细设计
采用线性表实现概要设计中的定义的抽象数据类型,有关数据数据类型和伪码算法定义如下:
(1)类型定义
typedef struct LinearList
{
int *list;
int size;
int MAXSIZE;
}List;
(2)基本操作的伪码算法
初始化
void InitList(List L)
{
构造一个空表L;
定义空表长度为0;
初始存储空间的容量;
}
插入操作
void List
您可能关注的文档
最近下载
- 2025年陕西省中考数学试卷分析评析 .pdf VIP
- 医院医疗不良事件上报登记本.doc
- (人教新课标)五年级数学下册《分数的意义》教学市公开课获奖课件省示范课获奖课件.pptx VIP
- 卡乐控制器PCO控制器说明.pdf
- VDA-MLA-2022+新零件成熟度保障.docx
- 交通运输布局对区域发展的影响 【知识精讲精研】高一地理教学课件(人教版2019必修第二册)+.pptx VIP
- GNSS定位测量技术(含实训手册) 课件 1全球四大卫星导航(GNSS)系统介绍分析.pptx
- 上海轮渡线图、时刻表、价格表.doc VIP
- 登高作业安全培训.pptx
- 2025广东省广州高三一模“智情未来:当AI遇见情感”审题立意及范文-备战2025年高考语文各地名校模考卷作文导写.docx
文档评论(0)