import java.util.Scanner;
public class Main {
public static void main (String[] args){
int a[] = new int[1000];
int n;
Scanner read = new Scanner(System.in);
n = read.nextInt();
for (int i = 0; i < n;i++){
a[i] = read.nextInt();
}
Qsort (a,0,n-1);
Print(a,n);
read.close();
}
static void Qsort (int a[],int l,int r){
int x = a[l],i = l,j = r;
if ( i >= j )
return ;
while (i < j){
while (i < j && a[j] >= x) j--;
a[i] = a[j];
while ( i < j && a[i] <= x) i++;
a[j] = a[i];
}
a[i] = x;
Qsort (a,l, i - 1);
Qsort (a,i + 1 ,r);
}
static void Print (int a[],int n){
for(int i = 0; i < n;i++){
System.out.print(a[i] +" ");
}
}
}
Java---快排
最新推荐文章于 2024-08-04 07:00:00 发布
该博客介绍了如何在Java中实现快速排序算法。通过一个主函数读取用户输入的整数数组,然后调用Qsort方法进行排序,最后使用Print方法打印排序后的数组。Qsort方法采用了经典的分治策略,选择第一个元素作为基准并交换元素来划分数组,递归地对子数组进行排序。
摘要由CSDN通过智能技术生成