题目:给定你一个长度为 n 的整数数列,请你使用快速排序对这个数列按照从小到大进行排序并将排好序的数列按顺序输出。
以下为快排模板:(y总笔记)
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
public class Main {
static int n;
static void quick_sort(int[] arr,int l,int r){
if (l>=r){
return;
}
int x=arr[l];
int i=l-1;
int j=r+1;
while (i<j){
do {
i++;
}while (arr[i]<x);
do {
j--;
}while (arr[j]>x);
if (i<j){
int temp=arr[i];
arr[i]=arr[j];
arr[j]=temp;
}
}
quick_sort(arr,l,j);
quick_sort(arr,j+1,r);
}
public static void main(String[] args) throws IOException{
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
String[] num = br.readLine().split(" ");
n=Integer.parseInt(num[0]);
String[] str = br.readLine().split(" ");
int[] arr= new int[n];
for (int i = 0; i < n; i++) {
arr[i]=Integer.parseInt(str[i]);
}
quick_sort(arr,0,n-1);
for (int i = 0; i < n; i++) {
System.out.print(arr[i]+" ");
}
}
}