解题思路:
注意事项:
参考代码:
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
int n = scanner.nextInt();
int arr[] = new int[n];
for (int i = 0; i < n; i++) {
arr[i] = scanner.nextInt();
}
quick_sort(arr, 0, arr.length - 1);
for (int i = 0; i < arr.length; i++) {
System.out.print(arr[i] + "\t");
}
}
public static void quick_sort(int arr[], int l, int r) {
if (l >= r) return;
int i = l - 1, j = r + 1, x = arr[l + (int)(Math.random() * (r - l + 1))];
while (i < j) {
do i++; while (arr[i] < x);
do j--; while (arr[j] > x);
if (i < j) swap(arr, i, j);
}
quick_sort(arr, l, j);
quick_sort(arr, j + 1, r);
}
public static void swap(int arr[], int a, int b) {
int temp = arr[b];
arr[b] = arr[a];
arr[a] = temp;
}
}
0.0分
0 人评分
C语言程序设计教程(第三版)课后习题3.7 (C语言代码)浏览:746 |
P1002 (C语言代码)浏览:1019 |
输出正反三角形 (C语言代码)格式错误!!!浏览:1177 |
1012题解浏览:938 |
字符逆序 (C语言代码)浏览:506 |
陶陶摘苹果2 (C语言代码)浏览:650 |
JAM计数法 (C语言代码)浏览:721 |
C语言程序设计教程(第三版)课后习题3.7 (C语言代码)浏览:587 |
马拦过河卒 (C语言代码)浏览:1213 |
C语言程序设计教程(第三版)课后习题6.2 (C语言代码)浏览:663 |