欢迎来到天天文库
浏览记录
ID:22287555
大小:191.50 KB
页数:12页
时间:2018-10-28
《数据结构实验五》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库。
1、实验五查找与排序实验课程名:数据结构与算法专业班级:_学号:_姓名:实验时间:_实验地点:指导教师:一、实验目的和要求1、掌握查找的不同方法,并能用高级语言实现查找算法。2、熟练掌握顺序表的查找方法和有序顺序表的折半查找算法。3、掌握常用的排序方法,并能用高级语言实现排序算法。4、深刻理解排序的定义和各种排序方法的特点,并能加以灵活运用。5、了解各种方法的排序过程及依据的原则,并掌握各种排序方法的时间笈杂度的分析方法。二、实验内容(一).任务一(1):顺序表的顺序查找完成下列程序,该程序实现高考成绩表(如下表所示)的顺序杏找,在输出结果中显示杏找成功与查找
2、不成功信息。准考证号姓名各科成缋总分政治语文外语数学物理化学生物179328何芳芳858998100938047592179325陈红858688100929045586179326陆华78759080958837543179327张平82807898849640558179324赵小怡76859457776944502(1)源代码如下:#include#include4include//mallocO等#include//INT_MAX等#include//E
3、OF(="Z或F6),NULL#include//atoi()#include//eof()4include//floor(),ceil(),abs()#include//exit()#include//cout,cin//函数结果状态代码^defineTRUE1^defineFALSE0^defineOK1^defineERROR0^defineINFEASIBLE-1//^defineOVERFLOW-2因为在math,h中已定义OVERFLOW的值为3,故去
4、掉此行typedefintStatus;//Status是函数的类型,其值是函数结果状态代码,如0K等typedefintBoolean;//Boolean是布尔类型,其值是TRUE或FALSE^defineMAX_LENGTH100#include#include#include//mallocO等#include//INT_MAX等#include//EOF(="Z或F6),NULL#include//atoi()#include5、h>//eof()#include//floor(),ceil(),abs()#include//exit()#include//cout,cin//函数结果状态代码^defineTRUE1^defineFALSE0♦tdefineOK1^defineERROR0^defineINFEASIBLE-1//^defineOVERFLOW-2因为在math,h中已定义OVERFLOW的值为3,故去掉此行typedefintStatus;//Status是函数的类型,其值是函数结果状态代码,如0K等t6、ypedefintBoolean;//Boolean是布尔类型,其值是TRUE或FALSE^defineN5//数据元素个数^defineEQ(a,b)((a)==(b))ttdefineLT(a,b)((a)〈(b))^defineLQ(a,b)((a)<=(b))typedeflongKeyType;//设关键字域为长整型^definekeynumber//定义关键字为准考证号structElemType//数据元素类型(以教科书图9.1高考成绩为例){longnumber;//准考证号,与关键字类型同charname[9];//姓名(4个汉字加1个串7、结束标志)intpolitics;//政治intChinese;//语文intEnglish;//英语intmath;//数学intphysics;//物理intchemistry;//化学intbiology;//生物inttotal;//总分};typedefstruct{ElemType*elera;//数据元素存储空间基址,建表时按实际长度分配,0号单元留空intlength;//表长度}SSTable;voidCreat_Seq(SSTable&ST,ElemTyper[],intn){//操作结果:由含n个数据元素的数组r构造静态顺序查找表ST8、inti;ST.elem=(ElemType*)calloc(n+
5、h>//eof()#include//floor(),ceil(),abs()#include//exit()#include//cout,cin//函数结果状态代码^defineTRUE1^defineFALSE0♦tdefineOK1^defineERROR0^defineINFEASIBLE-1//^defineOVERFLOW-2因为在math,h中已定义OVERFLOW的值为3,故去掉此行typedefintStatus;//Status是函数的类型,其值是函数结果状态代码,如0K等t
6、ypedefintBoolean;//Boolean是布尔类型,其值是TRUE或FALSE^defineN5//数据元素个数^defineEQ(a,b)((a)==(b))ttdefineLT(a,b)((a)〈(b))^defineLQ(a,b)((a)<=(b))typedeflongKeyType;//设关键字域为长整型^definekeynumber//定义关键字为准考证号structElemType//数据元素类型(以教科书图9.1高考成绩为例){longnumber;//准考证号,与关键字类型同charname[9];//姓名(4个汉字加1个串
7、结束标志)intpolitics;//政治intChinese;//语文intEnglish;//英语intmath;//数学intphysics;//物理intchemistry;//化学intbiology;//生物inttotal;//总分};typedefstruct{ElemType*elera;//数据元素存储空间基址,建表时按实际长度分配,0号单元留空intlength;//表长度}SSTable;voidCreat_Seq(SSTable&ST,ElemTyper[],intn){//操作结果:由含n个数据元素的数组r构造静态顺序查找表ST
8、inti;ST.elem=(ElemType*)calloc(n+
此文档下载收益归作者所有