117.info
人生若只如初见

java快速排序算法代码怎么写

以下是一种实现快速排序算法的Java代码:

public class QuickSort {
    public static void main(String[] args) {
        int[] nums = {5, 2, 8, 9, 1, 3, 7};
        quickSort(nums, 0, nums.length - 1);
        for (int num : nums) {
            System.out.print(num + " ");
        }
    }

    public static void quickSort(int[] nums, int left, int right) {
        if (left < right) {
            int pivotIndex = partition(nums, left, right);
            quickSort(nums, left, pivotIndex - 1);
            quickSort(nums, pivotIndex + 1, right);
        }
    }

    public static int partition(int[] nums, int left, int right) {
        int pivot = nums[right];
        int i = left - 1;
        for (int j = left; j < right; j++) {
            if (nums[j] <= pivot) {
                i++;
                swap(nums, i, j);
            }
        }
        swap(nums, i + 1, right);
        return i + 1;
    }

    public static void swap(int[] nums, int i, int j) {
        int temp = nums[i];
        nums[i] = nums[j];
        nums[j] = temp;
    }
}

这段代码实现了快速排序算法。首先,在主函数中定义了一个待排序数组nums,并调用quickSort函数对其进行排序。quickSort函数采用递归的方式进行快速排序,其中使用partition函数确定枢纽元素的位置,并将数组划分为两个子数组。partition函数选择最右边的元素作为枢纽元素,然后遍历数组,将小于等于枢纽元素的元素交换到左侧。最后,交换枢纽元素和左侧子数组的最后一个元素,返回枢纽元素的位置。swap函数用于交换数组中的两个元素的位置。最终,排序完成后,输出排序后的数组。

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

推荐文章

  • 怎么用java正则表达式替换字符串

    可以使用Java中的replaceAll()方法来替换字符串。replaceAll()方法使用正则表达式匹配字符串,并将匹配的部分替换为指定的字符串。
    下面是一个使用Java正则...

  • java怎么获取xml文件内容

    Java可以使用DOM解析器或者SAX解析器来获取XML文件的内容。
    使用DOM解析器: 创建一个DocumentBuilder对象。 DocumentBuilder documentBuilder = DocumentB...

  • java怎么生成zip文件加密

    要生成一个加密的zip文件,可以使用Java的ZipOutputStream类和密码输入流。
    下面是一个示例代码,演示了如何生成一个加密的zip文件:
    import java.io....

  • java异步调用方法怎么实现

    在Java中,可以使用多种方式来实现异步调用方法。 使用线程池:可以使用Java提供的线程池来实现异步调用方法。可以通过创建一个线程池,然后将需要异步执行的方法...

  • linux怎么查看nginx进程

    Linux下查看Nginx进程有以下几种方法: 使用ps命令查看进程:
    ps -ef | grep nginx 使用top命令实时监控进程:
    top 使用systemctl命令查看Nginx服务状...

  • sqlserver怎么修改视图名称

    要修改SQL Server中的视图名称,可以使用ALTER VIEW语句来实现。具体步骤如下: 打开SQL Server Management Studio,连接到要修改视图名称的数据库。
    在对象...

  • oracle删除job的方法是什么

    Oracle中删除作业(job)的方法是使用DBMS_SCHEDULER包中的DROP_JOB过程。以下是删除作业的语法:
    BEGIN DBMS_SCHEDULER.DROP_JOB ( job_name IN VARCHAR2,...

  • idea创建java项目的步骤是什么

    创建Java项目通常需要以下步骤: 安装Java开发工具:首先需要安装Java开发工具,如Java Development Kit (JDK)。确保安装了最新版本的JDK,并将其配置为系统环境...