以下是一个经典的快速排序算法的 Java 代码实现:

public class QuickSort {
    
    public void quickSort(int[] arr) {
        if (arr == null || arr.length == 0) {
            return;
        }
        quickSort(arr, 0, arr.length - 1);
    }
    
    private void quickSort(int[] arr, int left, int right) {
        if (left >= right) {
            return;
        }
        
        int pivot = partition(arr, left, right);
        quickSort(arr, left, pivot - 1);
        quickSort(arr, pivot + 1, right);
    }
    
    private int partition(int[] arr, int left, int right) {
        int pivot = arr[right];
        int i = left - 1;
        
        for (int j = left; j < right; j++) {
            if (arr[j] < pivot) {
                i++;
                swap(arr, i, j);
            }
        }
        
        swap(arr, i + 1, right);
        return i + 1;
    }
    
    private void swap(int[] arr, int i, int j) {
        int temp = arr[i];
        arr[i] = arr[j];
        arr[j] = temp;
    }
    
    public static void main(String[] args) {
        int[] arr = {5, 2, 6, 1, 3, 4};
        
        QuickSort qs = new QuickSort();
        qs.quickSort(arr);
        
        for (int num : arr) {
            System.out.print(num + " ");
        }
    }
}

这个代码实现了快速排序算法的核心逻辑。在quickSort方法中,我们首先检查数组是否为空或长度为0。如果为空,直接返回;否则,调用递归方法quickSort进行排序。

递归方法quickSort中,我们选择数组最后一个元素作为基准点(pivot),然后调用partition方法对数组进行分区。partition方法使用两个指针ij,将小于基准点的元素交换到左侧,并返回基准点的位置。最后,分别对左半部分和右半部分进行递归排序。

swap方法用于交换数组中两个元素的位置。最后,在main方法中,我们使用示例数组进行测试,并打印排序后的结果。

通过这个代码示例,你可以更好地理解快速排序算法的实现细节,并尝试在自己的项目中应用它。

Java 快速排序算法代码实现

原文地址: https://www.cveoy.top/t/topic/imp2 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录