网站大量收购独家精品文档,联系QQ:2885784924

数据结构实验查找和排序.doc

  1. 1、本文档共6页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 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

文档评论(0)

juhui05 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档