马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
#include <stdio.h>
#include <algorithm>
typedef struct time
{
int hour;
int second;
int minute;
}Time;
int cmp(Time t1,Time t2 )
{
if(t1.hour!=t2.hour)
return t1.hour<t2.hour;
else
{
if(t1.minute!=t2.minute)
return t1.minute<t2.minute;
else
return t1.second<t2.second;
}
}
int main()
{
int n;
scanf("%d",&n);
Time t[n];
for(int i=0;i<n;i++)
{
scanf("%d%d%d",&t[i].hour,&t[i].minute,&t[i].second);
}
std::sort(t,t+n,cmp);
for(int i=0;i<n;i++)
{
printf("%d %d %d\n",t[i].hour,t[i].minute,t[i].second);
}
return 0;
}
定义结构体数组并初始化示例(C++版本)
以下是你提供的代码的修正版本,使用C++语法进行修改和完善。 #include <iostream>#include <algorithm>struct Time { int hour; int minute; int second;};bool cmp(Time t1, Time t2) { if (t1.hour != t2.hour) return t1.hour < t2.hour; else { if (t1.minute != t2.minute) return t1.minute < t2.minute; else return t1.second < t2.second; }}int main() { int n; std::cin >> n; Time t[n]; for (int i = 0; i < n; i++) { std::cin >> t[i].hour >> t[i].minute >> t[i].second; } std::sort(t, t + n, cmp); for (int i = 0; i < n; i++) { std::cout << t[i].hour << " " << t[i].minute << " " << t[i].second << std::endl; } return 0;}
这个示例代码演示了如何使用C++语法定义一个包含时间信息的结构体 Time,并创建一个结构体数组 t[]来存储多个时间数据。通过 std::sort()函数对结构体数组进行排序,使用自定义的比较函数 cmp来指定排序规则。最后,使用循环遍历结构体数组并输出排序后的结果。
注意,在C++中我们使用 #include <iostream>代替 #include <stdio.h>,并使用 std::cin和 std::cout作为输入输出流,使用 std::endl代替 \n来换行。
希望这个示例代码对你有所帮助。如果还有其他问题,请继续提问。
球一个最佳答案谢谢啦!这对我非常重要!
|