--- title: "01-三元组排序" created: 2025-12-02 tags: - 项目 aliases: - 三元组排序 --- # 三元组排序 ## 题目 [三元组排序](https://www.acwing.com/problem/content/864/) ![[image-26f6177c.png]] ## 思路分析 ## 代码实现 ```java 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 中的三个属性 a、b 和 s int a; double b; String s; // 实现 compareTo 方法以根据属性 a 进行排序 public int compareTo(pair o) { // 按整数 a 升序排序 return this.a - o.a; } } ``` ## 同类题型 ## 视频讲解 --- **项目分区导航**: [[00-类与接口|类与接口]] ⬅️ | 01-三元组排序 | ➡️ [[02-从尾到头打印链表|从尾到头打印链表]]