AcWing 785. 快速排序
原题链接
简单
快速排序
Java 代码
import java.util.*;
public class Main{
public static void main(String[] args){
Scanner sc = new Scanner(System.in);
int n = sc.nextInt();
int[] q = new int[n];
for(int i = 0; i < n; i ++)
q[i] = sc.nextInt();
quickSort(q, 0, n - 1);
for(int i = 0; i < n; i++)
System.out.print(q[i] + " ");
}
public static void quickSort(int[] q, int l, int r){
if(l >= r) return;
int i = l - 1;
int j = r + 1;
int mid = q[(i + j) / 2];
while(i < j){
do i++; while(q[i] < mid);
do j--; while(q[j] > mid);
if(i < j){
int temp = q[i];
q[i] = q[j];
q[j] = temp;
}
}
quickSort(q, l, j);
quickSort(q, j + 1, r);
}
}