成绩排序
来源:互联网 发布:淘宝可以不交保证金吗 编辑:程序博客网 时间:2024/04/28 18:50
问题描述: 查找和排序
题目:输入任意(用户,成绩)序列,可以获得成绩从高到低或从低到高的排列,相同成绩都按先录入排列在前的规则处理。
例示:
jack 70
peter 96
Tom 70
smith 67
从高到低 成绩
peter 96
jack 70
Tom 70
smith 67
从低到高
smith 67
Tom 70
jack 70
peter 96
知识点: 排序
题目来源: 内部整理
练习阶段: 中级
运行时间限制: 10Sec
内存限制: 128MByte
输入:
输入多行,先输入要排序的人的个数,然后分别输入他们的名字和成绩,以一个空格隔开
用户名字,字符串,非空串,长度不超过20;
成绩,整数,范围【0,100】
输入排序方式,0或1,0表示成绩从高到低方式输出名字和成绩,1表示成绩从低到高方式输出名字和成绩
输出:
按照指定方式输出名字和成绩,名字和成绩之间以一个空格隔开
样例输入: 3
0
fang 90
yang 50
ning 70
样例输出: fang 90
ning 70
yang 50
import java.util.Iterator;import java.util.Scanner;import java.util.TreeSet;public class SoreSort {static SoreSort ss = new SoreSort();public static void main(String[] args) {Scanner scan = new Scanner(System.in);int m = scan.nextInt();int check = scan.nextInt();TreeSet<Student1> ts = new TreeSet<Student1>();TreeSet<Student2> ts2 = new TreeSet<Student2>();while(m>0){String str = scan.next();int num = scan.nextInt();Student1 s1 = ss.new Student1(str,num); Student2 s2 = ss.new Student2(str, num);ts.add(s1);ts2.add(s2);m--;}if(check == 0)downSort(m,ts);elseupSort(m,ts2);}private static void upSort(int m, TreeSet<Student2> ts2) {Iterator<Student2> it = ts2.iterator();while (it.hasNext()) {Student2 s2 = it.next();System.out.println(s2.getName() + " " + s2.getscore());}}private static void downSort(int m, TreeSet<Student1> ts) {Iterator<Student1> it = ts.iterator();while (it.hasNext()) {Student1 s1 = it.next();System.out.println(s1.getName() + " " + s1.getscore());}}private class Student2 implements Comparable{private String name;private int score;public Student2(String str, int num) {this.name = str;this.score = num;}public String getName() {return name;}public void setName(String name) {this.name = name;}public int getscore() {return score;}public void setscore(int score) {this.score = score;}@Overridepublic int compareTo(Object o) {Student2 s = (Student2) o;if(this.score > s.score)return 1;else if(this.score == s.score){if(this.name.compareTo(s.name) > 0)return 1;else if(this.name.compareTo(s.name) < 0)return -1;else return 0;}return -1;}}private class Student1 implements Comparable{private String name;private int score;public Student1(String str, int num) {this.name = str;this.score = num;}public String getName() {return name;}public void setName(String name) {this.name = name;}public int getscore() {return score;}public void setscore(int score) {this.score = score;}@Overridepublic int compareTo(Object o) {Student1 s = (Student1) o;if(this.score > s.score)return -1;else if(this.score == s.score){if(this.name.compareTo(s.name) > 0)return 1;else if(this.name.compareTo(s.name) < 0)return -1;else return 0;}return 1;}}}
0 0
- 成绩排序
- 成绩排序
- 成绩排序
- 成绩排序
- 成绩排序
- 成绩排序
- 成绩排序
- 成绩排序
- 成绩排序
- 成绩排序
- 成绩排序
- 成绩排序
- 成绩排序
- 成绩排序
- 成绩排序
- 成绩排序
- 成绩排序
- 成绩排序
- HTML5 脚本编程——JavaScript高级程序设计笔记(13)
- Javascript跨域访问资源
- iOS ui 学习 1-2天的笔记
- (Android)java虚拟机和Dalvik虚拟机的区别 .
- 【LeetCode】217_Contains Duplicate
- 成绩排序
- hdu 1874 畅通工程续(SPFA算法)
- mysql group_concat函数和concat_ws 函数 详解
- nginx、php-fpm默认配置与性能–TCP socket还是unix domain socket
- 关键是走好脚下的路,关键是看自己
- MongDB的安装和基本操作 一(权限设置)
- 单例设计模式
- 如何写好一篇博客
- 汇编世界当中过程的经典