排序算法之快速排序

2021-03-25 06:27

阅读:631

标签:参考   partition   相同   code   分区   数列   quicksort   gen   oob   

参考:https://www.runoob.com/w3cnote_genre/algorithm

快速排序

从数列中挑出一个元素,称为 "基准"(pivot);
重新排序数列,所有元素比基准值小的摆放在基准前面,所有元素比基准值大的摆在基准的后面(相同的数可以到任一边)。在这个分区退出之后,该基准就处于数列的中间位置。这个称为分区(partition)操作;
递归地(recursive)把小于基准值元素的子数列和大于基准值元素的子数列排序;

public int[] sort(int[] sourceArray) throws Exception {
    // 对 arr 进行拷贝,不改变参数内容
    int[] arr = Arrays.copyOf(sourceArray, sourceArray.length);
    return quickSort(arr, 0, arr.length - 1);
}
private int[] quickSort(int[] arr, int left, int right) {
    if (left 

排序算法之快速排序

标签:参考   partition   相同   code   分区   数列   quicksort   gen   oob   

原文地址:https://www.cnblogs.com/heibaimao123/p/13778665.html


评论


亲,登录后才可以留言!