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 连接 hbase 代码如何编写

    要使用Java连接HBase,您需要首先确保已经安装了HBase并正确配置了相关环境。接下来,您可以使用HBase的Java API(即org.apache.hadoop.hbase.client包)来编写代...

  • java 连接 hbase 性能如何提升

    在Java中优化HBase连接性能,可以从多个维度入手,包括调整配置参数、优化JVM参数、使用连接池、采用批量操作、合理配置缓存以及优化数据结构和算法等。以下是一...

  • java 连接 hbase 遇到问题怎么办

    遇到 Java 连接 HBase 的问题时,可以按照以下步骤进行排查和解决: 确保 HBase 服务已启动:检查 HBase 的 Master 和 RegionServer 是否正常运行。可以通过查看...

  • java 连接 hbase 有哪些要点

    在Java中连接HBase并执行操作,需要注意以下要点: 环境配置: 确保HBase集群已经开启并运行正常。
    配置HBase的配置文件hbase-site.xml和Hadoop的配置文件c...

  • 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...