- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
查找排序的应用实验报告
查
找
排
序
的
应
用
班 级:计科112
姓 名:张航
学 号:201100814205
辅导老师:高艳霞
查找排序的应用
实验目的
1、本实验可以使学生更进一步巩固各种查找和排序的基本知识。
2、学会比较各种排序与查找算法的优劣。
3、学会针对所给问题选用最适合的算法。
4、掌握利用常用的排序与选择算法的思想来解决一般问题的方法和技巧。
二、实验内容
[问题描述]
[基本要求]
[测试数据]
由学生依据软件工程的测试技术自己确定。cout\n************************endl;
cout~ (1)根据学号查询 ~endl;
cout~ (2)根据姓名查询 ~endl;
cout~ (3)根据性别查询 ~endl;
cout~ (4)退出 ~endl;
cout************************endl; if(m==1)
折半查找算法:
for(int i=1;iST.length;i++)//使学号变为有序
for(int j=i;j=1;j--)
if(ST.r[j].xuehaoST.r[j-1].xuehao)
{
LI=ST.r[j];
ST.r[j]=ST.r[j-1];
ST.r[j-1]=LI;
}
int a=0;
cout输入要查找的学号endl;
cinn;
int low,high,mid;
low=0;high=ST.length-1; // 置区间初值
while (low=high)
{
mid=(low+high)/2;
if(n==ST.r[mid].xuehao)
{
coutST.r[mid].xuehao ST.r[mid].xingming ST.r[mid].xingbei ST.r[mid].chengji1 ST.r[mid].chengji2 ST.r[mid].zongendl;
a=1;
break;
}
else if(nST.r[mid].xuehao )
high=mid-1; // 继续在前半区间进行查找
else
low=mid+1; // 继续在后半区间进行查找
顺序查找算法:
cout输入要查找的姓名endl;
cinname;
for(int i=0;iST.length;i++)
{
if(name==ST.r[i].xingming)
{
coutST.r[i].xuehao ST.r[i].xingming ST.r[i].xingbei ST.r[i].chengji1 ST.r[i].chengji2 ST.r[i].zongendl;
a=1;
}
插入排序
每步将一个待排序的记录,按其关键码大小,插入到前面已经排好序的一组记录的适当位置上,直到记录全部插入为止。
//按学号排序,使用插入排序
RecordType LI; //定义存储学号向量
for(int i=1;iST.length;i++)
for(int j=i;j=1;j--)
if(ST.r[j].xuehaoST.r[j-1].xuehao)
{
LI=ST.r[j];
ST.r[j]=ST.r[j-1];
ST.r[j-1]=LI;}
2、选择排序
首先通过n-1次关键字比较,从n个记录中找出关键字最小的记录,将它与第一个记录交换
再通过n-2次比较,从剩余的n-1个记录中找出关键字次小的记录,将它与第二个记录交换
重复上述操作,共进行n-1趟排序后,排序结束。
//按成绩1排序,用选择排序
RecordType LI;
for(int i=0; iST.length;i++)
for (int j=i+1;jST.length;j++)
{if(ST.r[i].chengji1ST.r[j].chengji1)
{LI=ST.r[j];
ST.r[j]=ST.r[i];
ST.r[i]=LI;
四
您可能关注的文档
最近下载
- 信息处理技术员教程(第三版)第10章 计算机网络与互联网.pptx VIP
- [超分子化学与晶体工程基础]-晶体结构分析.pptx VIP
- 《中国心力衰竭诊断和治疗指南2024》解读.pptx VIP
- 中级宏观经济学知到课后答案智慧树章节测试答案2025年春浙江大学.docx VIP
- 2025-2026学年小学科学四年级上册粤教粤科版(2024)教学设计合集.docx
- [超分子化学与晶体工程基础]-超分子化学.pptx VIP
- 2013款上汽通用雪佛兰赛欧_汽车使用手册用户操作图解驾驶指南车主车辆说明书电子版.pdf
- E+H200涡街流量计说明书.pdf VIP
- 20_WD_2021001981_大坝安全监测系统验收规范.pdf VIP
- 信息处理技术员教程(第三版)第9章 数据库应用基础知识.pptx VIP
文档评论(0)