代码实现:
public class QuickSort{
public static void main(String[] args){
int[] arr = new int[10];
for(int i = 0; i < arr.length; i++){
arr[i] = ((int)(Math.random() * 20));
System.out.print(arr[i] + " ");
}
System.out.println();
quickSort(arr, 0, arr.length - 1);
for(int i = 0; i < arr.length; i++){
System.out.print(arr[i] + " ");
}
}
public static void quickSort(int[] arr, int left, int right){
if(left > right){
return;
}
int base = arr[left];
int i = left;
int j = right;
while(i != j){
while(arr[j] >= base && i < j){
j--;
}
while(arr[i] <= base && i < j){
i++;
}
int temp = arr[i];
arr[i] = arr[j];
arr[j] = temp;
}
arr[left] = arr[i];
arr[i] = base;
quickSort(arr, left, i - 1);
quickSort(arr, j + 1, right);
}
}
运行结果:
基于对象数组的快排实现
请看另一篇博文