package D_common;
import java.util.Scanner;
public class 快速排序 {
public static void main(String[] args) {
// 10 5 8 6 4 2 1 3 10 7 9
Scanner scanner = new Scanner(System.in);
int n = scanner.nextInt();
int arr[] = new int[n];
for (int i = 0; i < arr.length; i++) {
arr[i] = scanner.nextInt();
}
quickSort(arr, 0, arr.length - 1);
for (int i : arr) {
System.out.print(i + " ");
}
}
public static void quickSort(int[] arr, int start, int end) {
if (start > end) {
return;
}
int i = start;//指针值和属性值.
int j = end;
int temp = arr[start];
while (i < j) {
while (arr[j] >= temp && i < j) {
j--;
}
while (arr[i] <= temp && i < j) {
i++;
}
if (i < j) {
int t = arr[j];
arr[j] = arr[i];
arr[i] = t;
}
}
arr[start] = arr[i];
arr[i] = temp;
quickSort(arr, start, i - 1);
quickSort(arr, i + 1, end);
}
}
输入:
10 5 8 6 4 2 1 3 10 7 9
输出:
1 2 3 4 5 6 7 8 9 10