就用一个结构体简单排序就可以了,,

#include<bits/stdc++.h>
using namespace std;
struct tim{
    int h;
    int m;
    int s;
}a[5005];
bool cmp(tim x,tim y){
    if(x.h == y.h && x.m == y.m){
        return x.s < y.s;
    }
    else if(x.h == y.h){
        return x.m < y.m;
    }
    else{
        return x.h < y.h;
    }
}
int main(){
    int n;
    cin>>n;
    for(int i=0;i<n;++i){
       cin>>a[i].h>>a[i].m>>a[i].s;
    }
    sort(a,a+n,cmp);
    for(int i=0;i<n;++i){
       cout<<a[i].h<<" "<<a[i].m<<" "<<a[i].s<<endl;
    }
    system("pause");
    return 0;
}