首页主机资讯如何用java写一个快速排序算法

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

时间2024-06-12 15:08:03发布访客分类主机资讯浏览511
导读:下面是一个用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方法中展示了如何使用这个快速排序算法。

声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!


若转载请注明出处: 如何用java写一个快速排序算法
本文地址: https://pptw.com/jishu/680787.html
mysql创建外键约束的方法是什么 php如何将数组从小到大排序

游客 回复需填写必要信息