public static void main(String[] args)
{
// 主函数部分,随机建一个长度为输入数字的数组.输入一两千时没问题,到了一万就堆栈溢出
Scanner sc=new Scanner(System.in);
int get1=sc.nextInt();
int [] arr= new int[get1];
for(int i=0;i<get1;i++)
{
//arr[i]=sc.nextInt();
arr[i]=(int) (Math.random()*100);
}
quickSort(arr, 0, arr.length-1);
for(int i:arr)
{
System.out.print(i+" ");
}
}
//快排部分
private static void quickSort(int [] arr,int l,int r)
{
if(l>r)
{
return;
}
int i=l;//L,不是123
int base=arr[l];
int j=r;
while (i!=j)
{
while(arr[j]>=base&&i<j)
{
j--;
}
while (arr[i]<=base&&i<j)
{
i++;
}
int t=arr[i];
arr[i]=arr[j];
arr[j]=t;
}
arr[l]=arr[i];
arr[i]=base;
quickSort(arr, l, i-1);
quickSort(arr, j+1, arr.length-1);
}
java-快排(递归)-堆栈溢出-咋整
随机建一个长度为输入数字的数组.输入一两千时没问题,到了一万就堆栈溢出
哭惹