快速排序(Quicksort)是一种高效的排序算法,通常使用分治法(Divide and Conquer)来排序数组。以下是一个用 Java 实现的快速排序算法的示例:
`
public class QuickSort
{
public static void main(String[] args) {
int[] a = { 12,20,5,16,15,30,45,23,9};
int start = 0;
int end = a.length -1;
sort(a,start,end);
for (int i=0;i<a.length;i++) {
System.out.print(" "+a[i]);
}
}
public static void sort(int[] a,int low,int high) {
int start = low;
int end = high;
int key = a[low];
while(end>start) {
while(end>start && a[end]>=key) {
end--;
}
if(a[end]<=key) {
int temp = a[end];
a[end] = a[start];
a[start] = temp;
}
while(end>start && a[start] <=key) {
start++;
}
if(a[start]>=key) {
int temp = a[start];
a[start] = a[end];
a[end] = temp;
}
}
if(start>low) sort(a,low,start-1);
if(end<high) sort(a,end+1,high);
}
}
`