欢迎来到天天文库
浏览记录
ID:47459007
大小:108.00 KB
页数:14页
时间:2020-01-11
《查找、排序的应用 实验报告》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、实验七查找、排序的应用一、实验目的1、本实验可以使学生更进一步巩固各种查找和排序的基本知识。2、学会比较各种排序与查找算法的优劣。3、学会针对所给问题选用最适合的算法。4、掌握利用常用的排序与选择算法的思想来解决一般问题的方法和技巧。二、实验内容[问题描述] 对学生的基本信息进行管理。[基本要求]设计一个学生信息管理系统,学生对象至少要包含:学号、姓名、性别、成绩1、成绩2、总成绩等信息。要求实现以下功能:1.总成绩要求自动计算;2.查询:分别给定学生学号、姓名、性别,能够查找到学生的基本信息(要求至少用两种查找算法实现);3.排序:分别按学生的学号、
2、成绩1、成绩2、总成绩进行排序(要求至少用两种排序算法实现)。[测试数据]由学生依据软件工程的测试技术自己确定。三、实验前的准备工作1、掌握哈希表的定义,哈希函数的构造方法。2、掌握一些常用的查找方法。1、掌握几种常用的排序方法。2、掌握直接排序方法。四、实验报告要求1、实验报告要按照实验报告格式规范书写。2、实验上要写出多批测试数据的运行结果。3、结合运行结果,对程序进行分析。五、算法设计a、折半查找设表长为n,low、high和mid分别指向待查元素所在区间的下界、上界和中点,key为给定值。初始时,令low=1,high=n,mid=ë(low+
3、high)/2,让key与mid指向的记录比较,若key==r[mid].key,查找成功若keyr[mid].key,则low=mid+1重复上述操作,直至low>high时,查找失败b、顺序查找从表的一端开始逐个进行记录的关键字和给定值的比较。在这里从表尾开始并把下标为0的作为哨兵。voidchaxun(SqList&ST)//查询信息{cout<<"************************"<4、据姓名查询~"<=1;j--)if(ST.r[j].xuehao5、l;cin>>n;intlow,high,mid;low=0;high=ST.length-1;//置区间初值while(low<=high){mid=(low+high)/2;if(n==ST.r[mid].xuehao){cout<6、.r[mid].xuehao)high=mid-1;//继续在前半区间进行查找elselow=mid+1;//继续在后半区间进行查找顺序查找算法:cout<<"输入要查找的姓名"<>name;for(inti=0;i7、i].zong<=1;j--)if(ST.r[j].xuehao8、它与第一个记录交换再通过n-2次比较,从剩余的n-1个记录中找出关键字次小的记录,将它与第二个
4、据姓名查询~"<=1;j--)if(ST.r[j].xuehao5、l;cin>>n;intlow,high,mid;low=0;high=ST.length-1;//置区间初值while(low<=high){mid=(low+high)/2;if(n==ST.r[mid].xuehao){cout<6、.r[mid].xuehao)high=mid-1;//继续在前半区间进行查找elselow=mid+1;//继续在后半区间进行查找顺序查找算法:cout<<"输入要查找的姓名"<>name;for(inti=0;i7、i].zong<=1;j--)if(ST.r[j].xuehao8、它与第一个记录交换再通过n-2次比较,从剩余的n-1个记录中找出关键字次小的记录,将它与第二个
5、l;cin>>n;intlow,high,mid;low=0;high=ST.length-1;//置区间初值while(low<=high){mid=(low+high)/2;if(n==ST.r[mid].xuehao){cout<6、.r[mid].xuehao)high=mid-1;//继续在前半区间进行查找elselow=mid+1;//继续在后半区间进行查找顺序查找算法:cout<<"输入要查找的姓名"<>name;for(inti=0;i7、i].zong<=1;j--)if(ST.r[j].xuehao8、它与第一个记录交换再通过n-2次比较,从剩余的n-1个记录中找出关键字次小的记录,将它与第二个
6、.r[mid].xuehao)high=mid-1;//继续在前半区间进行查找elselow=mid+1;//继续在后半区间进行查找顺序查找算法:cout<<"输入要查找的姓名"<>name;for(inti=0;i7、i].zong<=1;j--)if(ST.r[j].xuehao8、它与第一个记录交换再通过n-2次比较,从剩余的n-1个记录中找出关键字次小的记录,将它与第二个
7、i].zong<=1;j--)if(ST.r[j].xuehao8、它与第一个记录交换再通过n-2次比较,从剩余的n-1个记录中找出关键字次小的记录,将它与第二个
8、它与第一个记录交换再通过n-2次比较,从剩余的n-1个记录中找出关键字次小的记录,将它与第二个
此文档下载收益归作者所有