- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
计算机与信息技术学院综合性、设计性实验报告
专业:网络工程
年级/班级:大二
2016
—2017学年第一学期
课程名称
数据构造
指导教师
李四
学号姓名X张三
项目名称
次序表构造的操作
实验种类
综合性/设计性
实验时间
实验地址
216机房
一、实验目的
(1)熟习次序表的创办、取值、查找、插入、删除等算法,模块化程序设计方法。
二、实验仪器或设备
(1)硬件设备:
(2)配置软件:
CPU为Pentium4
MicrosoftWindows7
以上的计算机,内存
与VC++6.0
2G
以上
三、整体设计(设计原理、设计方案及流程等)
设计原理:次序表的储藏构造的特色是在逻辑上相邻的数据元素,其物理次序也是相邻的。
设计方案:采纳模块化设计的方法,设计各个程序段,最后经过主函数实现各个程序的各个功能。设计时,需要考虑用户输入非法数值,因此要在程序中写入可以办理非法数值的代码。
设计流程:
引入所需的头文件;
定义状态值;
写入次序表的各种操作的代码;
写入主函数,分别调用各个函数。在调用函数时,采纳if构造进行判断输入值可否非法,进而执行相应的程序。
四、实验步骤(包含主要步骤、代码解析等)
#includestdio.h//EOF(=^Z
或F6),NULL
#includestdlib.h//srand( ),rand( ),exit(n)
#includemalloc.h//malloc( ),alloc( ),realloc( )
等
#includelimits.h//INT_MAX
等
#includestring.h
#includectype.h
#includemath.h//floor( ),ceil( ),abs( )
#includeiostream.h//cout,cin
#includetime.h//clock( ),CLK_TCK,clock_t
#define
TRUE
1
#define
FALSE
0
#define
OK
1
#define
ERROR
0
#define
INFEASIBLE
-1
#define
OVERFLOW
-2
typedef
int
Status;//Status
是函数的种类,
//其值是函数结果状态代码,如
OK等
typedef
int
ElemType;
#defineMAXSIZE100
//
最大长度
typedefstruct
{
ElemType*elem;
intlength;//
//
指向数据元素的基地址
线性表的当前长度
}SqList;
//初始化线性表
算法步骤:
1.为次序表L动向分配一个预约义大小的数组空间,使
址。
2.将表的当前长度设为0。
elem
指向这做段空间的基地
{//构造一个空的次序表L
L.elem=newElemType[MAXSIZE];//if(!L.elem)exit(OVERFLOW);//
为次序表分配空间
储藏分配失败
printf(
空次序表创办成功!
\n);
L.length=0;
//空表长度为
0
returnOK;
}
//取值
算法步骤:
1.判断指定的地址序号
2.若i值合理,则将第
据元素的传值。
i值可否合理(i个数据元素
1≤i≤L.length),若不合理,则返回
L.elem[i-1]赋给参数e,经过e返回第
ERROR。
i个数
StatusGetElem_Sq(SqListL,inti,ElemTypee)
{
if(i1||iL.length)returnERROR;
//
判断
i
值可否合理,若不合理,返回
ERROR
e=L.elem[i-1];//
第
i-1
的单元储藏着第
i个数据
returnOK;
}
//查找
算法步骤:
1.从前一个元素起,挨次和e对照较,若找到与
成功,返回该元素的序号i+1。
2.若查遍整个次序表都没有找到,则查找失败,返回
intLocateELem_Sq(SqListL,ElemTypee)
{
e相等的元素
0。
L.elem[i],
则查找
inti;
for(i=0;iL.length;i++)
if(L.elem[i]==e)returni+1;
return0;
}
插入
算法步骤:
判断插入地址i可否合法(i值的合法范围是1≤i≤n+1)。
2.判断次序表的储藏空间可否已满,若满则返回ERROR。
3.
将第n个至第i
个地址的元素挨次搬动一个地址,空出第
i个地址(i=n+1)时无
需搬动)。
4.
将要插入的新元素
e放入第i个地址。
5.
表长加1。
Sta
您可能关注的文档
- 青岛版20192020年五年级下册数学期末试题.doc
- 静电现象教学教学教案DOC.doc
- 静脉留置针操作操作规范.doc
- 静脉留置针操作操作规范图.doc
- 静雅校园浴书香诗香致远气自华汇总.doc
- 鞍山市小升初语文模拟考试试卷.doc
- 鞍山市小升初语文考试试卷.doc
- 鞍山市重点中学市联考2019年数学高一上学期期末考试试题.doc
- 鞍钢产品质量证明书.doc
- 韶关学院2011—2012学年校历.doc
- 2025天津工业大学师资博士后招聘2人笔试题库带答案解析.docx
- 2025四川中冶天工集团西南公司招聘14人备考题库带答案解析.docx
- 2025四川南充市农业科学院第二批引进高层次人才考核招聘2人备考题库带答案解析.docx
- 2025四川德阳绵竹市人力资源和社会保障局绵竹市卫生健康局卫生事业单位考核招聘专业技术人员41人历年.docx
- 2025云南昭通昭阳区政务服务管理局公益性岗位招聘1人备考题库及答案解析(夺冠).docx
- 2025年西安一附院沣东医院招聘笔试题库附答案解析.docx
- 2025山东临沂市纪委监委机关所属事业单位选聘工作人员10人笔试备考试卷带答案解析.docx
- 2025四川成都市新都区妇幼保健院编外专业技术人员招聘8人历年真题题库附答案解析.docx
- 2025年宝鸡三和职业学院招聘笔试题库(82人)最新.docx
- 2025云南昆明市第二人民医院紧急招聘神经(创伤)外科医师1人历年试题汇编含答案解析(必刷).docx
原创力文档


文档评论(0)