欢迎访问宙启技术站
智能推送

使用Java函数快速排序数组 SortArray(int[] arr)

发布时间:2023-06-18 08:57:32

快速排序是一种常用的排序算法,它比较快速、高效,在处理较大的数据集时比其他排序算法更有效。Java函数快速排序数组需要传递一个整型数组进行排序,排序后返回一个有序的数组。

实现快速排序需要对数组进行分区操作,具体方法是选择一个基准元素(通常是数组中的第一个元素),然后将数组中小于基准元素的所有元素移至基准元素的左侧,将大于基准元素的元素移至其右侧。然后将左侧和右侧的子数组递归进行分区,重复这个过程直到所有子数组只有一个元素为止。

下面是快速排序算法的Java函数实现:

public static void quickSort(int[] arr, int left, int right) {
    if (left < right) {
        int pivotIndex = partition(arr, left, right);
        quickSort(arr, left, pivotIndex - 1);
        quickSort(arr, pivotIndex + 1, right);
    }
}

public static int partition(int[] arr, int left, int right) {
    int pivotIndex = left;
    int pivotValue = arr[left];
    for (int i = left + 1; i <= right; i++) {
        if (arr[i] < pivotValue) {
            pivotIndex++;
            int temp = arr[pivotIndex];
            arr[pivotIndex] = arr[i];
            arr[i] = temp;
        }
    }
    int temp = arr[left];
    arr[left] = arr[pivotIndex];
    arr[pivotIndex] = temp;
    return pivotIndex;
}

public static int[] sortArray(int[] arr) {
    quickSort(arr, 0, arr.length - 1);
    return arr;
}

该函数接收一个整型数组作为参数,并返回一个排序后的数组。函数内部调用了quickSort()函数实现快速排序并将结果返回。