




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、结构体和泛型编程1068谈起1068题目 要找出排名前5的人。 这5个人的排名要求是先按总分从高到低排序,如果两个同学总分相同,再按语文成绩从高到低排序,如果两个同学总分和语文成绩都相同,那么规定学号小的同学排在前面,这样,每个学生的排序是唯一确定的。 这里的排序就比较别扭了。两个问题 学生一共有三个数据项,我们如何来存储三个数据项? 怎么排序?怎么用 #include 中的sort。第一个问题:struct在c+中,允许自己定义类型。(和pascal中的record效果一样)在本题中我们就可以自己定义一个student类型。struct studentint yuwen;int id;int
2、 score;这里我定义了一个类型 student,他包含三个数据项,分别是整型的语文成绩,整型的学号,整型的总分。具体语法规则声明一个结构体类型的一般形式为:struct 结构体类型名成员表列;定义struct可以放在 main的上方,也可放在main里。 具体用法可以参看谭浩强的教材。 我们在pasacl中没有一些标准算法可以调用,所以,我们经常不用record,而用很多一维数组代替。比如本道题,我们就可以用三个一维数组。但是c+里有很多标准算法,所以,我们更要习惯 定义结构体来做题目。排序数组的排序#include #include /算法库using namespace std;boo
3、l mycmp( int a, int b) /返回true表示排序时a应该放在b前面return ab;int main() int a10=1,4,2,3,6,7,5,9,0,8; int N=10; sort(a, a+N); /从起点到终点从小到大排序 for (int i=0; iN; i+) cout ai ; /结果是10个数字从小到大排列 cout endl; sort(a, a+N, mycmp); /调用自己定义的比较函数,第三个参数。 /见上面的mycmp函数 for (int i=0; iN; i+) cout ai ; /结果是10个数字从大到小排列 cout endl; return 0;第二个问题,排序 这道题的排序需要比较三个数据项,并且有降序有升序。 我们需要自己定义比较方式。 C+的排序内置在 库中。 如果你自己编的过程必须要制定类型。 Sort这个函数是不分类型的。这就是常说的泛型程序
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 反思花艺师教育的试题及答案
- 食品标签标识试题及答案
- 职业病知识培训课件
- 农业职业经理人考试的品牌建设试题及答案
- 低血压的急救护理
- 综合法律知识培训课件
- 纸尿布产品知识培训课件
- 素描化妆知识培训课件
- 商铺租赁定金合同范文
- 二零二五版担保合同总承包商付款保函
- 产业园区开发全流程实操解析
- 2024版滴灌购销合同滴灌合同
- 《纸质文物修复与保护》课件-30古籍的版式
- 计划岗位工作规划
- 《API618标准学习》课件
- 清明节的中医养生和保健方法
- 自然常数e的意义与计算
- 成人肥胖食养指南2024年版-国家卫健委-202403
- 新生儿头部护理课件
- 如何培养严重精神障碍患者的社交技能和人际交往能力
- 全科医学培养的病例讨论教学
评论
0/150
提交评论