117.info
人生若只如初见

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

下面是一个用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方法中展示了如何使用这个快速排序算法。

未经允许不得转载 » 本文链接:https://www.117.info/ask/fe0c8AzsIBAJfDFI.html

推荐文章

  • java中异常类会影响性能吗

    在Java中,异常类本身不会对性能产生显著影响。异常处理机制是为了在程序运行时处理错误或异常情况,而不是为了优化性能。然而,在使用异常时,需要注意以下几点...

  • java中异常类如何避免

    在Java中,避免异常的最好方法是编写健壮的代码并遵循一些最佳实践。以下是一些建议: 预期和处理异常:使用try-catch语句来捕获和处理可能发生的异常。确保处理...

  • java中异常类有哪些常见类型

    Java中的异常类主要分为两大类:受检异常(Checked Exceptions)和非受检异常(Unchecked Exceptions)。以下是具体的异常类型:
    受检异常(Checked Except...

  • java中异常类怎么捕获

    在Java中,我们使用try-catch语句来捕获异常。当程序执行过程中遇到异常时,Java运行时系统会抛出一个异常对象。你可以使用try块来包含可能引发异常的代码,然后...

  • php如何将数组从小到大排序

    可以使用PHP中的sort()函数来对数组进行从小到大的排序。例如:```php$numbers = array(4, 2, 8, 6);sort($numbers);print_r($numbers);```上面的代码会输出:``...

  • JAVA数组的访问是怎么进行的

    在Java中,数组是一种数据结构,可以存储多个相同类型的元素。要访问数组中的元素,可以通过数组的下标来访问。数组的下标从0开始,依次递增,直到数组的长度减1...

  • java数组自动排序的方法是什么

    在Java中,可以使用Arrays类的sort()方法来对数组进行自动排序。示例如下:
    import java.util.Arrays; public class Main { public static void main(Strin...

  • python如何用for循环遍历列表

    使用for循环遍历列表很简单,只需按照以下格式编写代码即可:
    # 定义一个列表
    my_list = [1, 2, 3, 4, 5] # 使用for循环遍历列表
    for item in my...