--- title: "04-数组排序" created: 2025-12-02 tags: - 项目 aliases: - 数组排序 --- # 数组排序 ## 题目 [数组排序](https://www.acwing.com/problem/content/820/) ![[image-478106dc.png]] ## 思路分析 ## 代码实现 ```java import java.util.Scanner; public class Main { public static void main(String[] args) { Scanner sc = new Scanner(System.in); int N = sc.nextInt(); int l = sc.nextInt(); int r = sc.nextInt(); int[] a = new int[N]; for (int i = 0; i < N; i++) { a[i] = sc.nextInt(); } sort(a,l,r); } public static void sort(int a[], int l, int r){ for (int i = l; i <= r ; i++) { for (int j = l; j < i ; j++) { if (a[i] < a[j]) { int tmp = a[i]; a[i] = a[j]; a[j] = tmp; } } } for (int i = 0; i < a.length; i++) { System.out.print(a[i] + " "); } System.out.println(); } } ``` ```java import java.util.Scanner; public class Main { public static void main(String[] args) { Scanner sc = new Scanner(System.in); int n = sc.nextInt(), l = sc.nextInt(), r = sc.nextInt(); int[] w = new int[n]; for (int i = 0; i < n; i ++ ) w[i] = sc.nextInt(); sort(w, l, r); for (int i = 0; i < n; i ++ ) System.out.printf("%d ", w[i]); } private static void sort(int[] w, int l, int r) { for (int i = r; i > l; i -- ) { // 冒泡排序 for (int j = l; j < i; j ++ ) if (w[j] > w[j + 1]) { int t = w[j]; w[j] = w[j + 1]; w[j + 1] = t; } } } } ``` ```java import java.util.Arrays; import java.util.Scanner; public class Main{ public static void main(String[] args){ Scanner sc = new Scanner(System.in); int N = sc.nextInt(), l = sc.nextInt(), r = sc.nextInt(); int[] a = new int[N]; for(int i = 0; i < N; i++) a[i] = sc.nextInt(); Arrays.sort(a, l, r + 1); // 左闭右开 for(int i = 0; i < N; i++) System.out.print(a[i] + " "); } } ``` ## 同类题型 ## 视频讲解 --- **项目分区导航**: [[03-排列|排列]] ⬅️ | 04-数组排序 | ➡️ [[05-最大公约数|最大公约数]]