- 1、本文档共6页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
数据结构实验查找和排序
查找、排序算法的应用
班级 学号 姓名
一、实验目的
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 60
2 使用顺序查找方法,从查找表中查找姓名为赵阳和王夏的学生。如果查找成功,则显示该生的相关信息;如果查找不成功,则给出相应的提示信息。
3 使用二分查找方法,从查找表中查找学号为7和12的学生。如果查找成功,则显示该生的相关信息;如果查找不成功,则给出相应的提示信息。(注意:创建静态查找表时必须按学号的从小到大排列!)
4 使用直接插入排序方法,对学生信息中的姓名进行排序。输出排序前和排序后的学生信息表,验证排序结果。
5 使用直接选择排序方法,对学生信息中的C成绩进行排序。输出排序前和排序后的学生信息表,验证排序结果。
6 使用冒泡排序方法,对学生信息中的数据结构成绩进行排序。输出排序前和排序后的学生信息表,验证排序结果。
7 编写一个主函数,将上面函数连在一起,构成一个完整程序。
8 将实验源程序调试并运行。
三、实验结果
#includeiostream
#includestring
using namespace std;
# define size 10
struct student
{
string num;
string name;
string classnum;
int cscore;
int datascore;
};
struct seqlist
{
student stu[size];
int len;
};
//创建顺序表
void create_seq(seqlist L)
{
int n;
cout请输入学生的人数:;
cinn;
L.len=n;
coutendl;
cout请输入学生信息:endl;
cout学号 姓名 班级 C++成绩 数据结构成绩endl;
for(int i=1;i=L.len;i++ )
{
cinL.stu [i].num L.stu [i].name L.stu[i].classnum L.stu [i].cscore L.stu [i].datascore ;
}
}
//输出顺序表的信息
void display(seqlist L)
{
cout学号 姓名 班级 C++成绩 数据结构成绩endl;
for(int i=1;i=L.len;i++)
{
coutL.stu [i].num L.stu [i].name L.stu [i].classnum L.stu [i].cscore L.stu [i].datascore endl;
}
coutendl;
}
//顺序查找
void seq_search(seqlist L,string n)
{
int i=1;
while(i=L.len L.stu [i].name !=n)
{ i++;}
if(iL.len )
{
cout该生不存在endl;return;
}
coutL.stu [i].num L.stu [i].name L.stu [i].classnum L.stu [i].cscore L.stu [i].datascore endl;
}
//折半查找
void bin_search(seqlist L,string n)
{
int low,high,mid;
low=1;high=L.len ;
while(low=high)
{
mid=(low+high)/2;
if(L.stu[mid].num==n)
{
cou
您可能关注的文档
最近下载
- 张思德革命英雄人物故事PPT课件(图文演讲).pptx
- 多媒体技术与应用教程(全套课件91P).pptx VIP
- 肖维青中国文化英语综合教程.pdf VIP
- Unit 1 School things(大单元教学解读)三年级英语下册(译林版三起2024).pdf
- 五年级美术下册课件-5景物的近大远小(7)-冀美版.ppt
- 消防员的体能训练与技战术训练课件.pptx VIP
- 2024《财务共享服务中心的运营现状及优化策略研究-以鞍钢集团为例》14000字.docx
- 2024-2025学年九年级语文期末模拟考试卷期末模拟卷(安徽专用,范围:上册+下册).pdf VIP
- 1金正日の料理人.pdf
- 新《特种设备生产和充装单位许可规则》--气瓶充装许可部分.doc
文档评论(0)