#2077. 员工薪资分类与排序(难度电子学会T4)

员工薪资分类与排序(难度电子学会T4)

员工薪资分类与排序

输入一组员工的信息(包括员工编号和薪资),将薪资大于等于5000的员工按照薪资从高到低输出,薪资低于5000的员工按照输入顺序输出。

输入格式:

  • 第一行输入一个整数 n,表示员工的数量。
  • 接下来的 n 行每行输入一个字符串 id(员工编号)和一个整数 salary(员工薪资)。

输出格式:

  • 先按照薪资从高到低输出高薪员工的编号。
  • 然后按输入顺序输出其他员工的编号。

解题思路

  1. 定义数据结构​:
    • 使用结构体 Employee 存储每个员工的信息,包括 id(员工编号)和 salary(薪资)。
    • 使用两个数组 highlow 分别存储高薪(大于等于5000)和低薪(小于5000)的员工信息。
  2. 输入数据和分类​:
    • 首先输入员工数量 n
    • 然后,通过循环读取每个员工的编号和薪资,分类存储到相应的数组中。
  3. 排序和输出​:
    • 使用 stable_sorthigh 数组按薪资从高到低排序。
    • 按顺序输出 high 数组中的员工编号。
    • 按输入顺序输出 low 数组中的员工编号。

解释:

  • E002E003 为高薪员工,按薪资从高到低排序。
  • E001E004 为低薪员工,按输入顺序输出