快速排序
对于一个int数组,请编写一个快速排序算法,对数组元素排序。
给定一个int数组A及数组的大小n,请返回排序后的数组。
测试样例:
[1,2,3,5,2,3],6
[1,2,2,3,3,5]
Java (javac 1.7)
代码自动补全
1
import java.util.*;
2
3
public class QuickSort {
4
public int[] quickSort(int[] A, int n) {
5
int left = 0;
6
int right = n-1;
7
return quickSort(A, left, right);
8
}
9
public int[] quickSort(int[] A, int left, int right){
10
if(left < right){
11
int i = left;
12
int j = right;
13
14
int target = A[i];
15
16
while(i < j){
17
while(j>i && A[j]>target){
18
j--;
19
}
20
if(j>i){
21
A[i] = A[j];
22
i++;
23
}
24
while(i<j && A[i]<target){
25
i++;
26
}
27
if(i<j){
28
A[j] = A[i];
29
j--;
30
}
31
}
32
A[i] = target;
33
quickSort(A, left, i-1);
34
quickSort(A, i+1, right);
35
36
}
37
return A;
38
}
39
}
您的代码已保存
答案正确:恭喜!您提交的程序通过了所有的测试用例
答案正确:恭喜!您提交的程序通过了所有的测试用例