已阅读5页,还剩1页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
查找、排序算法的应用一、实验目的1 掌握查找的不同方法,并能用高级语言实现查找算法。 2 熟练掌握顺序表和有序表的顺序查找和二分查找方法。3 掌握排序的不同方法,并能用高级语言实现排序算法。4 熟练掌握顺序表的选择排序、冒泡排序和直接插入排序算法的实现。二、实验内容1 创建给定的顺序表。表中共包含八条学生信息,信息如下: 学号 姓名 班级 C+ 数据结构 1 王立 03511 85 76 2 张秋 03511 78 88 3 刘丽 03511 90 79 4 王通 03511 75 86 5 赵阳 03511 60 71 6 李艳 03511 58 68 7 钱娜 03511 95 89 8 孙胜 03511 45 602 使用顺序查找方法,从查找表中查找姓名为赵阳和王夏的学生。如果查找成功,则显示该生的相关信息;如果查找不成功,则给出相应的提示信息。3 使用二分查找方法,从查找表中查找学号为7和12的学生。如果查找成功,则显示该生的相关信息;如果查找不成功,则给出相应的提示信息。(注意:创建静态查找表时必须按学号的从小到大排列!)4 使用直接插入排序方法,对学生信息中的姓名进行排序。输出排序前和排序后的学生信息表,验证排序结果。5 使用直接选择排序方法,对学生信息中的C成绩进行排序。输出排序前和排序后的学生信息表,验证排序结果。6 使用冒泡排序方法,对学生信息中的数据结构成绩进行排序。输出排序前和排序后的学生信息表,验证排序结果。7 编写一个主函数,将上面函数连在一起,构成一个完整程序。8 将实验源程序调试并运行。三、实验结果给出源程序及输入、输出结果。#include#includeusing namespace std;#define maxsize 10struct stuint num;char name5;char banji6;int C;int ds;studentmaxsize= 1,王立,03511,85,76,2,张秋,03511,78,88,3,刘丽,03511,90,79,4,王通,03511,75,86,5,赵阳,03511,60,71,6,李艳,03511,58,68,7,钱娜,03511,95,89,8,孙胜,03511,45,60;int len=8;void seq_search(stu student,char name5)coutendl;cout顺序查找:;cout查找姓名为name的学生:endl;int i=0,flag=0;string s=(string)name;while(ilen&flag=0)string ss=(string);if(s=ss)flag=1;cout学号t姓名t班级tC+t数据结构endl; tstudenti.banjitstudenti.Ctstudenti.dsendl;else i+;if(flag=0)cout该生不存在!endl;void binary_search(stu student,int num) coutendl; cout二分查找:; int i,m,low,high,flag=0;low=0;high=len-1; cout学号为num的学生信息:endl;while(low=high&flag=0)m = (low+high)/2; if (numstudentm.num) low=m+1; else flag=1; i=m; cout学号t姓名t班级tC+t数据结构endl; tstudenti.banjitstudenti.Ctstudenti.dshigh)cout该生不存在!endl;void zjcr_sort(stu student) stu temp; int i, j; for( i=1; ilen; i+ ) if (studenti.C studenti-1.C) temp=studenti; / 复制为哨兵 for(j=i-1; temp.Cstudentj.C; j- ) studentj+1=studentj; / 记录后移 studentj+1=temp; / 插入到正确位置 coutendl;cout直接插入排序:; cout按C+成绩降序的排序结果为:endl; cout学号t姓名t班级tC+t数据结构endl; for(i=0;ilen;i+) tstudenti.banjitstudenti.Ctstudenti.dsendl; void zj_select_sort(stu student) int i,j,k; stu temp; for( i=1; ilen; i+ ) k = i; for( j=i+1; jlen; j+ ) if( studentj.dsstudentk.ds) k = j ; if( k != i ) temp =studenti; studenti=studentk; studentk=temp; coutendl; cout直接选择排序:; cout按数据结构成绩降序的排序结果为:endl; cout学号t姓名t班级tC+t数据结构endl; for(i=0;ilen;i+) tstudenti.banjitstudenti.Ctstudenti.dsendl; void maopao_sort(stu student)int i,j,flag=1; stu temp; for(i=1;(ilen)&(flag=1);i+) flag=0; for(j=0;jstudentj+1.C) temp=studentj; studentj=studentj+1; studentj+1=temp; flag=1; coutendl; cout冒泡排序:; cout按C+成绩降序的排序结果为:endl; cout学号t姓名t班级tC+t数据结构endl; for(i=0;ilen;i+) tstudenti.banjitstudenti.Ctstudenti.dsendl; void main() seq_search(student,赵阳); seq_search(student,王夏);
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 钢筋机械连接施工方案
- 凉山州教育局考勤制度
- 保利发展工程质量管理中长期发展规划
- 中医住培考勤制度
- 保洁工资考勤制度
- 在家办公人员考勤制度
- 公司初期考勤制度
- 前台人员考勤制度
- 车牌识别停车场系统施工方案
- 调蓄池专项施工方案
- 2024年湘潭医卫职业技术学院单招职业适应性测试题库及答案1套
- 赡养老人个税扣除分摊协议书
- 城市轨道交通车辆制动系统维护与检修 课件全套 项目1-5 城轨车辆制动系统概述- NABTESCO型制动控制系统的组成及控制过程
- 2024年深圳市中考历史试卷真题(含答案解析)
- 广东省省级政务信息化服务预算编制标准(运维服务分册)
- 创文交通协管员劳务派遣投标方案
- 大学生读本教学大纲专题-2024国家安全教育
- 六年级上册分数四则混合运算100题及答案
- 2024年湖南商务职业技术学院单招职业适应性测试题库带答案
- 《跨境电商直播(双语)》课件-1.1行业发展动态
- 充电桩采购安装投标方案1
评论
0/150
提交评论