zoukankan      html  css  js  c++  java
  • <algorithm>里的sort函数对结构体排序

    题目描述

    每天第一个到机房的人要把门打开,最后一个离开的人要把门关好。现有一堆杂乱的机房签到、签离记录,请根据记录找出当天开门和关门的人。

    输入描述:

    每天的记录在第一行给出记录的条目数M (M > 0 ),下面是M行,每行的格式为

    证件号码 签到时间 签离时间

    其中时间按“小时:分钟:秒钟”(各占2位)给出,证件号码是长度不超过15的字符串。

    输出描述:

    对每一天的记录输出1行,即当天开门和关门人的证件号码,中间用1空格分隔。
    注意:在裁判的标准测试输入中,所有记录保证完整,每个人的签到时间在签离时间之前,且没有多人同时签到或者签离的情况。

    分析:

    采用sort函数对结构体排序,用法和数组类似

    #include <iostream>
    #include <string>
    #include <algorithm>
    using namespace std;
    
    struct staff{
        string id;
        string in;
        string out;
    };
    
    bool comp1(staff p1, staff p2){
        return p1.in < p2.in;
    }
    
    bool comp2(staff p1, staff p2){
        return p1.out > p2.out;
    }
    
    int main(){
        int m;
        staff p[1000];
        while(cin >> m){
            for(int i = 0; i < m; i++){
                cin >> p[i].id >> p[i].in >> p[i].out;
            }
            sort(p, p + m, comp1);
            cout << p[0].id << " ";
            sort(p, p + m, comp2);
            cout << p[0].id << endl;
            
        }
        return 0;
    }
    
  • 相关阅读:
    使用VisualStudio2015开发QT项目
    界面控件
    SmartGit 试用过期
    视图和模型变换
    模型变换和视图变换
    一元二次方程
    论cudnn与cuda之间的关系,和实际例子测试。
    在Ubuntu 18.04上安装Tensorflow
    ubuntu14.04安装CUDA8.0
    Windows10系统远程桌面连接出现卡顿如何解决
  • 原文地址:https://www.cnblogs.com/zhuobo/p/10216995.html
Copyright © 2011-2022 走看看