对于一个int数组,请编写一个快速排序算法,对数组元素排序。
给定一个int数组A及数组的大小n,请返回排序后的数组。
[1,2,3,5,2,3],6
[1,2,2,3,3,5]
import java.util.*;
public class QuickSort {
public int[] quickSort(int[] A, int n) {
int left = 0;
int right = n-1;
return quickSort(A, left, right);
}
public int[] quickSort(int[] A, int left, int right){
if(left < right){
int i = left;
int j = right;
int target = A[i];
while(i < j){
while(j>i && A[j]>target){
j--;
if(j>i){
A[i] = A[j];
i++;
while(i<j && A[i]<target){
if(i<j){
A[j] = A[i];
A[i] = target;
quickSort(A, left, i-1);
quickSort(A, i+1, right);
return A;
快速排序
原文:http://www.cnblogs.com/haozhengfei/p/791a7782c127aea3485289b09dff56d5.html