算法-java代码实现快速排序


快速排序

对于一个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
}
 
 
您的代码已保存
答案正确:恭喜!您提交的程序通过了所有的测试用例
上一篇:[UE4]在蓝图中设置图片


下一篇:adt的问题An internal error has occurred. After scene creation, #init() must be called