数据结构 实验报告 排序

数据结构 实验报告 排序

ID:11587619

大小:45.50 KB

页数:4页

时间:2018-07-12

数据结构 实验报告 排序_第1页
数据结构 实验报告 排序_第2页
数据结构 实验报告 排序_第3页
数据结构 实验报告 排序_第4页
资源描述:

《数据结构 实验报告 排序》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、实验报告实验目的:1.掌握各种排序方法的排序过程;2.了解一些排序算法的实现。实验内容:学生的考试成绩表由学生的学号、姓名和成绩组成,设计一个程序对给定的n个学生信息实现:1.按分数高低排序,打印出每个学生在考试中的排名,分数相同的为同一名次,同一名次的学生按学号从小到大排列。2.按照名次列出每个学生的名次、学号、姓名、成绩。实验原理:排序分为插入排序、交换排序、选择排序、归并排序等。插入排序又分为直接插入排序、其他插入排序和希尔排序;交换排序分为冒泡排序和快速排序;选择排序又分为简单选择排序和堆排序。不同的排序方法各有利弊,根据具体

2、的情况选择合适的排序方法。设计思想:本程序采用简单选择排序的方法。程序中定义一个stu结构和student类。类中定义creat创建函数,selectgrade成绩排序函数,samegrade、selectnum成绩相同的按学号排序函数,print输出函数。按照选择排序的思想,先对成绩按照从高到低进行排序;然后寻找成绩相同的部分,对该局部元素的学号从小到大进行排序。然后调用输出函数,输出名次、学号、姓名、成绩。实现部分:源代码:#includestructstu{intnum;charname[100];int

3、grade;};classstudent{structstus[100];intlength;intstart,end;public:student(){length=0;}voidcreat();voidselectgrade();voidsamegrade();voidselectnum();voidprint();};//创建顺序表voidstudent::creat(){cout<<"请依次输入学生的学号、姓名、成绩。输入#结束:"<>num;while(num){s[length].num=

4、num;cin>>s[length].name;cin>>s[length].grade;cin>>num;length++;}}//对成绩进行选择排序voidstudent::selectgrade(){stutemp;inti,j,k;for(i=0;is[k].grade)k=j;}if(k!=i){temp=s[i];s[i]=s[k];s[k]=temp;}}}//对成绩相同的学号进行选择排序voidstudent:

5、:samegrade(){inti,j;for(i=0;i

6、um

7、1].grade){j++;k=i-j;}else{j=0;k=i-j;}cout<

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。