gpt4 book ai didi

c++ - 在其他相同的数组旁边排序数组

转载 作者:行者123 更新时间:2023-11-30 02:15:05 24 4
gpt4 key购买 nike

我刚刚写了一个程序,程序按时间(分钟)对人进行排序。但是如果分钟相同并且我还需要对秒进行排序,我应该在什么地方添加代码

#include <iostream>
#include <algorithm>
#include <string>
using namespace std;

struct people{
string name;
int min;
int sec;
};

bool comp(const people &p1, const people &p2) {return (p1.min < p2.min); }

int main() {
int temp;
people z[6];
for (int i = 0; i < 6; i++) {
cin >> z[i].name;
cin >> z[i].min;
cin >> z[i].sec;
}
sort(z, z + 6, comp);
cout << endl;

for (int i = 0; i < 6; i++) {
cout << z[i].name << " " << z[i].min << " " << z[i].sec << endl;
}
return 0;
}

/*
input for example:
John 19 15
Liza 9 59
Michael 19 45
Kira 2 37
Thomas 5 41
Justas 19 24
*/

最佳答案

获得正确比较函数的一种简单方法是使用 operator <std::tuple :

bool comp(const people &lhs, const people &rhs)
{
return std::tie(lhs.min, lhs.sec) < std::tie(rhs.min, rhs.sec);
}

关于c++ - 在其他相同的数组旁边排序数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56623038/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com