如何用java写一个快速排序算法

   2024-10-13 7500
核心提示:下面是一个用Java写的快速排序算法示例:public class QuickSort {public void sort(int[] arr, int low, int high) {if (arr ==

下面是一个用Java写的快速排序算法示例:

public class QuickSort {    public void sort(int[] arr, int low, int high) {        if (arr == null || arr.length == 0) {            return;        }        if (low >= high) {            return;        }        int middle = low + (high - low) / 2;        int pivot = arr[middle];        int i = low, j = high;        while (i <= j) {            while (arr[i] < pivot) {                i++;            }            while (arr[j] > pivot) {                j--;            }            if (i <= j) {                int temp = arr[i];                arr[i] = arr[j];                arr[j] = temp;                i++;                j--;            }        }        if (low < j) {            sort(arr, low, j);        }        if (high > i) {            sort(arr, i, high);        }    }    public static void main(String[] args) {        QuickSort quickSort = new QuickSort();        int[] arr = {5, 2, 7, 3, 6, 1, 4};        quickSort.sort(arr, 0, arr.length - 1);        System.out.println("Sorted array:");        for (int num : arr) {            System.out.print(num + " ");        }    }}

在这个示例中,sort方法使用递归的方式实现了快速排序算法。首先选择数组中间的元素作为pivot,然后将数组分成两部分,一部分比pivot小,一部分比pivot大,然后对这两部分分别进行递归排序。最后在main方法中展示了如何使用这个快速排序算法。

 
举报打赏
 
更多>同类维修大全
推荐图文
推荐维修大全
点击排行

网站首页  |  关于我们  |  联系方式网站留言    |  赣ICP备2021007278号