三元组排序

题目 三元组排序

image-26f6177c

思路分析

代码实现

import java.util.Scanner;

import java.util.Arrays;

public class Main {

    public static void main(String[] args) {

        Scanner sc = new Scanner(System.in);

        int n = sc.nextInt();

        pair[] arr = new pair[n];

        int idx = 0;

        while (n-- > 0) {

            pair p = new pair();

            p.a = sc.nextInt();

            p.b = sc.nextDouble();

            p.s = sc.next();

            arr[idx++] = p;

        }

        // 对数组 arr 中的所有 pair 对象进行排序,使用的是 pair 类中实现的 compareTo 方法

        Arrays.sort(arr);

        for (pair r : arr) {

            System.out.printf("%d %.2f %s\n", r.a, r.b, r.s);

        }

    }

}

// 定义一个类 pair 并实现 Comparable 接口

class pair implements Comparable<pair> {

    // 定义类 pair 中的三个属性 a、b 和 s

    int a;

    double b;

    String s;

    // 实现 compareTo 方法以根据属性 a 进行排序

    public int compareTo(pair o) {

        // 按整数 a 升序排序

        return this.a - o.a;

    }

}

同类题型

视频讲解


项目分区导航类与接口 ⬅️ | 01-三元组排序 | ➡️ 从尾到头打印链表