AcWing 785. 快速排序-java
原题链接
简单
作者:
单箭头
,
2019-06-10 13:46:56
,
所有人可见
,
阅读 1645
java 代码
import java.util.*;
public class Main{
public static void main(String[] args){
Scanner sc=new Scanner(System.in);
int n=sc.nextInt();
int[] arr=new int[n];
for(int i=0;i<n;i++)
arr[i]=sc.nextInt();
quickSort(arr,0,n-1);
for(int i=0;i<n;i++)
System.out.print(arr[i]+" ");
}
private static void quickSort(int[] arr,int l,int r){
int start=l,end=r;
int base=arr[l];
while(l<r){
while(l<r && arr[r]>=base) r--;
arr[l]=arr[r];
while(l<r && arr[l]<=base) l++;
arr[r]=arr[l];
}
arr[l]=base;
if(l>start) quickSort(arr,start,l-1);
if(end>l) quickSort(arr,r+1,end);
}
}