蓝桥杯-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);
目录
打赏
0
0
0
0
37
分享
相关文章
数据结构与算法__冒泡排序__Java外比较器和内比较器(排序专题)
数据结构与算法__冒泡排序__Java外比较器和内比较器(排序专题)
71 0
蓝桥杯-1/14天-数位排序【继承Comparable接口实现排序】
蓝桥杯-1/14天-数位排序【继承Comparable接口实现排序】
代码随想录Day22 LeetCode T39 组合总和 T40 组合总和II T131 分割回文串
代码随想录Day22 LeetCode T39 组合总和 T40 组合总和II T131 分割回文串
47 0
利用Comparable接口实现对对象数组的排序
利用Comparable接口实现对对象数组的排序
利用Comparable接口实现对对象数组的排序
Java 操作符:Java 中操作符优先级、一二三元操作符及逻辑操作符的中德模佛定理
Java 操作符:Java 中操作符优先级、一二三元操作符及逻辑操作符的中德模佛定理
169 0
Java 操作符:Java 中操作符优先级、一二三元操作符及逻辑操作符的中德模佛定理
Java中TreeSet集合、自然排序、比较器排序、成绩排序及不重复随机数案例
TreeSet集合、自然排序、比较器排序、成绩排序及不重复随机数案例的简单示例
224 0
Java集合相关学习——元素排序两大接口Comparable和Comparator的应用及区别
Java集合相关学习——元素排序两大接口Comparable和Comparator的应用及区别
Java集合相关学习——元素排序两大接口Comparable和Comparator的应用及区别
AI助理

你好,我是AI助理

可以解答问题、推荐解决方案等