一贱书生

## 题目描述

``````查找和排序 题目：输入任意（用户，成绩）序列，可以获得成绩从高到低或从低到高的排列,相同成绩

jack      70
peter     96
Tom       70
smith     67

peter     96
jack      70
Tom       70
smith     67

smith     67
Tom       70
jack      70
peter     96
``````

### 输入描述

``````输入多行，先输入要排序的人的个数，然后分别输入他们的名字和成绩，以一个空格隔开

``````

### 输出描述

``````按照指定方式输出名字和成绩，名字和成绩之间以一个空格隔开
``````

### 输入例子

``````3 0 fang 90 yang 50 ning 70
``````

### 输出例子

``````fang 90 ning 70 yang 50
``````

## 算法实现

``````import java.util.*;

/**
*/
public class Main {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
//        Scanner scanner = new Scanner(Main.class.getClassLoader().getResourceAsStream("data.txt"));
while (scanner.hasNext()) {
int n = scanner.nextInt();
int t = scanner.nextInt();

Student[] students = new Student[n];

for (int i = 0; i < n; i++) {
String name = scanner.next().trim();
int score = scanner.nextInt();
students[i] = new Student(name, score);
}

sort(t, students);

StringBuilder builder = new StringBuilder();
for (Student s : students) {
builder.append(s.name).append(" ").append(s.score).append('\n');
}

System.out.print(builder.toString());
}

scanner.close();
}

private static void sort(int t, Main.Student[] students) {
if (t == 1) {
Arrays.sort(students, new Comparator<Student>() {
@Override
public int compare(Main.Student s, Main.Student t) {
return s.score - t.score;
}
});
} else if (t == 0) {
Arrays.sort(students, new Comparator<Student>() {
@Override
public int compare(Main.Student s, Main.Student t) {
return t.score - s.score;
}
});
}
}

private static class Student {
private String name;
private int score;

public Student(String name, int score) {
this.name = name;
this.score = score;
}
}
}``````

### 一贱书生

Sql--order by、desc降序、top

Sql--order by、desc降序、top ---------通过order by 语句进行排序： --1.降序order by 列名desc --2.升序order by 列名 或order by 列名asc --3.order by语句必须一定要放在整个sql语句的最...

linjin200
01/24
20
0
Java 中带参带返回值方法的使用

public class mains { public static void main(String[] args) { mains hello = new mains(); int[] scores={79,52,98,81}; hello.sort(scores); System.out.println("第一"+hello.sort(sc......

2017/06/06
0
0
MapReduce案例6——学生成绩增强版

jin6872115
2018/03/16
0
0
C# 冒泡排序你还会吗？

2011/06/12
0
0

2018/01/30
0
0

18分钟前
3
0
Spring Boot 2.x基础教程：Swagger静态文档的生成

21分钟前
3
0
《毅力》读书笔记

1.确信你全身心地投入 2.准备好为目标进行艰难的跋涉 3.通过减少需要使用毅力的情形，为将来的挑战做好准备 4.尽可能具体细致地确定你的目标和实现目标的过程 5.把挑战分解为小而易于管理的小...

lingch
22分钟前
3
0

25分钟前
3
0

Linux磁盘管理好坏直接关系到整个系统的性能问题，Linux磁盘管理常用三个命令为df、du和fdisk。 df df命令参数功能：检查文件系统的磁盘空间占用情况。可以利用该命令来获取硬盘被占用了多少...

Linux就该这么学
28分钟前
3
0