1028 List Sorting (25)

简介: #include #include #include #include #include using namespace std;int c;struct node{ string id, name;...
#include <iostream>
#include <string>
#include <map>
#include <vector>
#include <algorithm>
using namespace std;

int c;
struct node{
    string id, name;
    int grade;
};
bool cmp(node &a, node &b){
    if(c == 1){
        return a.id < b.id;
    }else if(c == 2){
        if(a.name == b.name) return a.id < b.id;
        return a.name < b.name;
    }else{
        if(a.grade == b.grade) return a.id < b.id;
        return a.grade < b.grade;
    }
}

int main(){
    int n;
    cin >> n >> c;
    vector<node> v(n);
    for(int i = 0; i < n; i++){
        cin >> v[i].id >> v[i].name >> v[i].grade;
    }
    sort(v.begin(), v.end(), cmp);
    for(int i = 0; i < n; i++){
        printf("%s %s %d\n", v[i].id.c_str(), v[i].name.c_str(), v[i].grade);
    }
    return 0;
}
目录
相关文章
|
11月前
|
机器学习/深度学习 存储 C++
【PAT甲级 - C++题解】1052 Linked List Sorting
【PAT甲级 - C++题解】1052 Linked List Sorting
60 0
|
11月前
|
存储 C++
【PAT甲级 - C++题解】1028 List Sorting
【PAT甲级 - C++题解】1028 List Sorting
57 0
【1028】List Sorting (25 分)
【1028】List Sorting (25 分) 【1028】List Sorting (25 分)
84 0
|
算法 人工智能 SDN
算法学习之路|List Sorting
Excel can sort records according to any column. Now you are supposed to imitate this function.
961 0
|
2天前
|
存储 安全 Java
java集合框架及其特点(List、Set、Queue、Map)
java集合框架及其特点(List、Set、Queue、Map)
|
2天前
|
存储 安全 算法
Java一分钟之-Java集合框架入门:List接口与ArrayList
【5月更文挑战第10天】本文介绍了Java集合框架中的`List`接口和`ArrayList`实现类。`List`是有序集合,支持元素重复并能按索引访问。核心方法包括添加、删除、获取和设置元素。`ArrayList`基于动态数组,提供高效随机访问和自动扩容,但非线程安全。文章讨论了三个常见问题:索引越界、遍历时修改集合和并发修改,并给出避免策略。通过示例代码展示了基本操作和安全遍历删除。理解并正确使用`List`和`ArrayList`能提升程序效率和稳定性。
9 0
|
2天前
|
存储 安全 Java
【JAVA基础篇教学】第八篇:Java中List详解说明
【JAVA基础篇教学】第八篇:Java中List详解说明
|
2天前
|
存储 安全 Java
Java容器类List、ArrayList、Vector及map、HashTable、HashMap
Java容器类List、ArrayList、Vector及map、HashTable、HashMap
|
2天前
|
Java API
【亮剑】三种有效的方法来删除List中的重复元素Java的List
【4月更文挑战第30天】本文介绍了三种Java中删除List重复元素的方法:1) 使用HashSet,借助其不允许重复值的特性;2) 利用Java 8 Stream API的distinct()方法;3) 对自定义对象重写equals()和hashCode()。每种方法都附带了代码示例,帮助理解和应用。
|
2天前
|
Java
Java中拷贝list数组如何实现
Java中拷贝list数组如何实现
13 0