21xrx.com
2024-11-21 23:02:42 Thursday
登录
文章检索 我的文章 写文章
Java实现快速排序算法
2023-06-15 15:23:39 深夜i     --     --
Java 快速排序算法 代码实例

快速排序算法是一种高效的排序算法,在大数据排序中被广泛使用。本文将介绍如何使用Java语言来实现快速排序算法。

快速排序算法的基本思想是:从待排序列中任选一个元素作为基准值,将小于基准值的元素放在基准值的左侧,将大于基准值的元素放在基准值的右侧,然后递归地对左侧和右侧进行排序,直到整个序列有序。

下面是Java实现快速排序算法的代码示例:


class QuickSort {

  public static void sort(int[] arr, int left, int right) {

    if (left < right) {

      int pivot = partition(arr, left, right);

      sort(arr, left, pivot - 1);

      sort(arr, pivot + 1, right);

    }

  }

  private static int partition(int[] arr, int left, int right) {

    int pivot = arr[left];

    while (left < right) {

      while (left < right && arr[right] >= pivot)

        right--;

      

      arr[left] = arr[right];

      while (left < right && arr[left] <= pivot) {

        left++;

      }

      arr[right] = arr[left];

    }

    arr[left] = pivot;

    return left;

  }

}

public class Main {

  public static void main(String[] args) {

    int[] arr = 2;

    QuickSort.sort(arr, 0, arr.length - 1);

    for (int i : arr) {

      System.out.print(i + " ");

    }

  }

}

代码说明:sort方法是快速排序的主方法,partition方法是快速排序的分区方法。在sort方法中,首先判断当前分区是否有元素,如果分区内有元素,则调用partition方法进行分区,并递归调用sort方法对分区的左右两侧再次执行排序。在partition方法中,首先将最左边的元素作为基准值,通过不断的交换左右两侧的元素,将小于基准值的元素放在基准值的左侧,大于基准值的元素放在基准值的右侧。最后返回基准值的位置。

  
  

评论区

{{item['qq_nickname']}}
()
回复
回复