蓝桥杯-1/14天-数位排序【继承Comparable接口实现排序】

简介: 之前写过一个刷题中遇到的排序问题洛谷1093,先根据学生的总成绩排序,如果总分一样的情况下再根据语文排序。总结最好的方法就是写一个类继承Comparable接口来重写compare方法。

题目来源:数位排序


image.png

        之前写过一个刷题中遇到的排序问题洛谷1093,先根据学生的总成绩排序,如果总分一样的情况下再根据语文排序。总结最好的方法就是写一个类继承Comparable接口来重写compare方法。


之前学艺不精,都是直接拿数据结构(List、Map)肝,比如这道题,我一开始直接拿List存储 1~n ,然后把list传数组,然后写一个sort方法用冒泡对 数组 进行排序,结构就是超时

image.png



image.png


因为如果测试集中有相当大的数据时,冒泡排序是一种很耗时的方法,它只适合对少量的数据进行排序。


使用类继承Comparable接口重写compare的方法:

import java.util.*;
// 1:无需package
// 2: 类名必须Main, 不可修改
public class Main {
    private static List<Integer> list = new ArrayList<>();
    public static void main(String[] args) {
        Scanner scan = new Scanner(System.in);
        int n = scan.nextInt();
        int m = scan.nextInt();
        scan.close();
        for(int i=1;i<=n;i++){
            list.add(i);
相关文章
|
6月前
|
Java
【Java】通过Comparator比较器的方式给对象数组排序
【Java】通过Comparator比较器的方式给对象数组排序
52 0
|
6月前
|
Java
java 实现Comparable接口排序,升序、降序、倒叙
java 实现Comparable接口排序,升序、降序、倒叙
56 0
|
6月前
|
算法 搜索推荐 Java
数据结构与算法__冒泡排序__Java外比较器和内比较器(排序专题)
数据结构与算法__冒泡排序__Java外比较器和内比较器(排序专题)
59 0
|
6月前
|
存储
蓝桥杯-1/14天-数位排序【继承Comparable接口实现排序】
蓝桥杯-1/14天-数位排序【继承Comparable接口实现排序】
|
Java
JAVA8学习之Lambada排序与list.sort匿名内部类排序
JAVA8学习之Lambada排序与list.sort匿名内部类排序
141 0
两种基础的数组排序方法。
两种基础的数组排序方法。
62 0
利用Comparable接口实现对对象数组的排序
利用Comparable接口实现对对象数组的排序
利用Comparable接口实现对对象数组的排序
|
存储 Java 索引
Java中TreeSet集合、自然排序、比较器排序、成绩排序及不重复随机数案例
TreeSet集合、自然排序、比较器排序、成绩排序及不重复随机数案例的简单示例
190 0
Java中TreeSet集合、自然排序、比较器排序、成绩排序及不重复随机数案例
|
存储 Java 索引
【Java集合类】之TreeSet集合与Comparable/Comparator排序
【Java集合类】之TreeSet集合与Comparable/Comparator排序
150 0
Java集合相关学习——元素排序两大接口Comparable和Comparator的应用及区别
Java集合相关学习——元素排序两大接口Comparable和Comparator的应用及区别
Java集合相关学习——元素排序两大接口Comparable和Comparator的应用及区别