- 1、本文档共10页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
实验五:查找和排序
班级B09513学号200940姓名
一、实验目的
1掌握查找的不同方法,并能用高级语言实现查找算法。
2熟练掌握顺序表和有序表的顺序查找和二分查找方法。
3掌握排序的不同方法,并能用高级语言实现排序算法。
4熟练掌握顺序表的选择排序、冒泡排序和直接插入排序算法的实现。
二、实验内容
1创建给定的静态查找表。表中共包含十条学生信息,信息如下:
学号姓名班级C++数据结构
1王立035118576
2张秋035117888
3刘丽035119079
4王通035117586
5赵阳035116071
6李艳035115868
7钱娜035119589
8孙胜035114560
2使用顺序查找方法,从查找表中查找姓名为赵阳和王夏的学生。如果查找成功,则显示该生的相关信息;如果查找不成功,则给出相应的提示信息。
3使用直接插入排序方法,按姓名对学生信息进行排序。输出排序前和排序后的学生信息表,验证排序结果。
4使用直接选择排序方法,对学生信息中的C成绩进行排序。输出排序前和排序后的学生信息表,验证排序结果。
5使用二分查找方法,从查找表中查找C成绩为79和80的学生。如果查找成功,则显示该生的相关信息;如果查找不成功,则给出相应的提示信息。
6使用冒泡排序方法,对学生信息中的数据结构成绩进行排序。输出排序前和排序后的学生信息表,验证排序结果。
7编写一个主函数,将上面函数连在一起,构成一个完整程序。
8将实验源程序调试并运行。
注意:每完成一个操作必须进行输出,以验证操作的正确性。
三、实验结果
#includeiostream
#includestring
#includeiomanip
usingnamespacestd;
constintMAX=100;
typedefstruct
{
intnum;
stringname;
intclassnum;
intcs;
intss;
}DataType;
typedefstruct
{
DataTypedata[MAX];
intlength;
}SNode;
voidInit(SNode*t)
{
t-length=0;
}
voidCreate(SNode*t,inta[],stringb[],intc[],intd[],inte[],intn) //创建
{
for(inti=0;in;i++)
{
t-data[i+1].num=a[i];
t-data[i+1].name=b[i];
t-data[i+1].classnum=c[i];
t-data[i+1].cs=d[i];
t-data[i+1].ss=e[i];
t-length++;
}
}
voidDisplay(SNode*t,inti) //输出学生的相关信息
{
cout.setf(ios::right);
coutsetw(8)学号setw(10)姓名setw(10)班级setw(10)C++成绩setw(15)数据结构成绩endl;
cout.setf(ios::right);
coutsetw(8)t-data[i].numsetw(10)t-data[i].namesetw(10)t-data[i].classnumsetw(10)t-data[i].cssetw(15)t-data[i].ssendl;
}
voidN_Search(SNode*t,stringkn) //按姓名查找
{
inti;
i=t-length;
t-data[0].name=kn;
while(t-data[i].name!=kn)
i--;
if(i==0)
cout······对不起,没有该姓名的学生!········endl;
else
{
cout····找到了!······endl;
Display(t,i);
}
}
voidC_Search(SNode*t,intcs
您可能关注的文档
- 电力工程应急维修方案措施.docx
- 初中毕业鉴定班主任评语.docx
- 布料出口销售合同.docx
- 电子产品出货检验规范.docx
- 电场强度完整版本.pptx
- 双减”背景下开展学生课后服务工作的设想和展望.docx
- 给小朋友科普植物.pptx
- 光伏项目方案范文.docx
- 广电营业员工作总结.doc
- 试题python二级基本考点练习.doc
- 水利水电工程质量检测员继续教育系统基础考试试题及答案(各种收集).pdf
- 毕业论文设计模板.pdf
- 2025年云南省寻甸县第五中学高三下学期教学质量监测(一)数学试题试卷含解析.doc
- 2025年云南省玉溪市师院附中高三数学试题寒假周考试卷含解析.doc
- 2025年云南省玉溪市新平一中高三第一次教学质量监测(4月)数学试题含解析.doc
- 2025年云南省玉溪市新平一中高三下学期考前模拟考试数学试题含解析.doc
- 2025年云南省宣威市第四中学招生全国统一模拟考试数学试题含解析.doc
- 2025年云南省元江民中高三下学期二模(4月)数学试题含解析.doc
- 2025年云南省元江县民族中学高三质量检查数学试题含解析.doc
- 2025年云南省沾益县第四中学下学期期中考高三试卷数学试题含解析.doc
文档评论(0)