就用一个结构体简单排序就可以了,,
#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; }