题解 | #日志排序#

日志排序

https://www.nowcoder.com/practice/0f64518fea254c0187ccf0ea05019672

//参考题解给的iostream便于处理字符串
#include <iostream>
#include<string>
#include<algorithm>
#include<sstream>
using namespace std;
struct record
{
    string name;
    string startDay;
    string startTime;
    double costTime;
    string line;
};
bool cmp(record r1,record r2)
{
    if(r1.costTime!=r2.costTime)return r1.costTime<r2.costTime;
    else 
    {
        if(r1.startDay!=r2.startDay)return r1.startDay<r2.startDay;
        else return r1.startTime<r2.startTime;
    }
}
int main() {
    record r[10000];
    int i=0;
    string s;
    while (getline(cin,s)) 
    { 
        r[i].line=s;
        istringstream lineStream(s);
        lineStream >>r[i].name>>r[i].startDay>>r[i].startTime>>r[i].costTime;
        //cout<<r[i].line<<endl;
        /*
        cout<<"i="<<i<<endl;
        cout<<r[i].name<<" "<<r[i].startDay<<" "<<r[i].startTime
    <<" "<<r[i].costTime<<endl;
*/
        i++;
    }
    sort(r,r+i,cmp);
    for(int j=0;j<i;j++)
    {
        cout<<r[j].line<<endl;
        /*
        cout<<"test"<<endl;
        cout<<r[i].name<<" "<<r[i].startDay<<" "<<r[i].startTime
    <<" "<<r[i].costTime<<endl;
    */
    }
}
// 64 位输出请用 printf("%lld")

全部评论
适合我
点赞
送花
回复
分享
发布于 03-21 01:13 河南

相关推荐

投递美团等公司9个岗位
点赞 评论 收藏
转发
2 收藏 评论
分享
牛客网
牛客企业服务