C++STL算法 is_sorted比较学生成绩
2021/7/17 11:05:42
本文主要是介绍C++STL算法 is_sorted比较学生成绩,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
总分和裸分其实没差那么多,也就是100一里
#include<iostream> #include<cstdlib> #include<vector> #include<algorithm> using namespace std; enum AddColumn { AddType_A = 5,// 班级干部 AddType_B = 50,// 领导亲戚 AddType_C = 3,// 校队队员 AddType_D = -15,// 违规违纪 AddType_E = 0// 一般选手 }; class Stu { public: typedef int index; explicit Stu(index point , AddColumn add):point(point), add(add) { index temp= point + add; if (temp > 100)temp = 100; if (temp < 0)temp = -1; this->total = temp; } bool operator<(Stu s) { return this->total < s.total; } friend bool compareStu(Stu s1, Stu s2); operator index() { return this->total; } //index getpoint() { return this->point; } private: index point;//裸分 AddColumn add;// 加分 index total;// 总分 }; bool compareStu(Stu s1, Stu s2) { return s1.point < s2.point; } int main() { vector<Stu> stuVec; stuVec.push_back(Stu(99, AddType_E)); stuVec.push_back(Stu(48, AddType_B)); stuVec.push_back(Stu(100, AddType_D)); stuVec.push_back(Stu(81, AddType_C)); sort(stuVec.begin(), stuVec.end(),less<Stu::index>());// 总分从小到大排列 for_each(stuVec.begin(), stuVec.end(), [](Stu s) {cout << Stu::index(s) << "\t"; }); cout << endl; bool result = is_sorted(stuVec.begin(), stuVec.end(), compareStu); if (result) { cout << "NB的人在NA和NC之间徘徊" << endl; } else { cout << "公平一直是相对的" << endl; } //for_each(stuVec.begin(), stuVec.end(), [](Stu s) {cout << s.getpoint() << "\t"; }); return EXIT_SUCCESS; }
这篇关于C++STL算法 is_sorted比较学生成绩的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-12-23DevExpress 怎么实现右键菜单(Context Menu)显示中文?-icode9专业技术文章分享
- 2024-12-22怎么通过控制台去看我的页面渲染的内容在哪个文件中呢-icode9专业技术文章分享
- 2024-12-22el-tabs 组件只被引用了一次,但有时会渲染两次是什么原因?-icode9专业技术文章分享
- 2024-12-22wordpress有哪些好的安全插件?-icode9专业技术文章分享
- 2024-12-22wordpress如何查看系统有哪些cron任务?-icode9专业技术文章分享
- 2024-12-21Svg Sprite Icon教程:轻松入门与应用指南
- 2024-12-20Excel数据导出实战:新手必学的简单教程
- 2024-12-20RBAC的权限实战:新手入门教程
- 2024-12-20Svg Sprite Icon实战:从入门到上手的全面指南
- 2024-12-20LCD1602显示模块详解