C++ sort 排序简单用法
发布日期:2021-07-22 07:28:44 浏览次数:2 分类:技术文章

本文共 1018 字,大约阅读时间需要 3 分钟。

一、sort降序排列

#include 
#include
using namespace std;bool cmp(int x, int y);int main() {
int n; int data[100]; while (cin>>n) {
for (int i = 0; i < n; i++) cin >> data[i]; sort(data, data + n, cmp); for (int i = 0; i < n; i++) cout << data[i]; } }bool cmp(int x, int y) {
return x > y; //定义排序规则}

cmp 函数返回值 true 时表示 cmp 第一个参数将会排在第二个参数前面。

二、利用重载" < "运算符来实现结构体排序

要求是:学生数据按成绩高低排序,成绩相同按姓名字符的字母序排序,姓名字母序相同按年龄排序。

#include 
#include
#include
using namespace std;struct E {
char name[101]; int age; int score; bool operator <(const E& b)const {
if (score != b.score) return score < b.score; int tmp = strcmp(name, b.name); if (tmp != 0) return tmp < 0; else return age < b.age; }};int main() {
int n; E data[100]; while (cin >> n) {
for (int i = 0; i < n; i++) cin >> data[i].name >> data[i].age >> data[i].score; sort(data, data + n); for (int i = 0; i < n; i++) cout << data[i].name << data[i].age << data[i].score; } return 0;}

转载地址:https://blog.csdn.net/m0_45689014/article/details/112695291 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!

上一篇:力扣 算法题2 两数相加
下一篇:C++ 函数与库

发表评论

最新留言

初次前来,多多关照!
[***.217.46.12]2024年04月05日 02时57分35秒