赞
踩
Java实现快速排序算法
以下是Java中的快速排序算法实现示例:
- public class QuickSort {
- // 快速排序入口函数
- public static void sort(int[] array) {
- quickSortRecursive(array, 0, array.length - 1);
- }
-
- // 递归函数实现快速排序
- private static void quickSortRecursive(int[] array, int left, int right) {
- if (left < right) {
- int pivotIndex = partition(array, left, right);
- quickSortRecursive(array, left, pivotIndex - 1);
- quickSortRecursive(array, pivotIndex + 1, right);
- }
- }
-
- // 划分函数
- private static int partition(int[] array, int left, int right) {
- int pivot = array[right];
- int i = left - 1;
-
- for (int j = left; j < right; j++) {
- if (array[j] < pivot) {
- i++;
- swap(array, i, j);
- }
- }
-
- swap(array, i + 1, right);
- return i + 1;
- }
-
- // 交换数组中的两个元素
- private static void swap(int[] array, int i, int j) {
- int temp = array[i];
- array[i] = array[j];
- array[j] = temp;
- }
-
- // 打印数组元素
- public static void printArray(int[] array) {
- for (int item : array) {
- System.out.print(item + " ");
- }
- System.out.println();
- }
-
- // 测试示例
- public static void main(String[] args) {
- int[] array = {12, 4, 7, 2, 10, 1, 15, 3, 6, 11};
- System.out.println("Original array:");
- printArray(array);
-
- sort(array);
- System.out.println("Sorted array:");
- printArray(array);
- }
- }
这段代码实现了快速排序算法。在 sort
函数中,我们首先调用 quickSortRecursive
函数来递归地执行快速排序。quickSortRecursive
函数中,我们首先选择一个基准元素(这里选择数组的最后一个元素作为基准),然后根据基准元素将数组分为两部分,左侧部分小于基准,右侧部分大于等于基准。然后再分别对左右两部分递归执行快速排序。
partition
函数负责实现划分步骤,它遍历数组,将小于基准的元素放在左侧,大于等于基准的元素放在右侧,并返回基准的最终位置。
swap
函数用于交换数组中的两个元素。
printArray
函数用于打印数组元素。
在 main
函数中,我们创建一个示例数组,并调用 sort
函数对其进行排序,然后打印排序后的结果。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。