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

以下是一种实现快速排序算法的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函数用于交换数组中的两个元素的位置。最终,排序完成后,输出排序后的数组。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,请发送邮件至 55@qq.com 举报,一经查实,本站将立刻删除。转转请注明出处:https://www.szhjjp.com/n/829706.html

(0)
派派
上一篇 2024-01-22
下一篇 2024-01-22

相关推荐

  • 在上海如何注册一个软件公司(上海注册公司APP)

    在上海如何注册一个软件公司,上海注册公司APP内容导航:想在上海注册一个软件公司该如何操作开家软件公司的投入及过程在北京注册一个软件公司需要多少注册资金在上海怎么注册一家软件开发公司一、想在上海注册一个软件公司该如何操作软件公司在太好注册了,最方便了,我们诚信专业注册上海公司。现在注册10万元的公司免费。所有注册手续市区办理,快速申请一般纳税人!免费提供注册地址。免收管理费并

    2022-04-22
    0
  • ZooKeeper中Watcher指的是什么

    在ZooKeeper中,Watcher是一种事件通知机制,它允许客户端注册在ZooKeeper节点上的数据变化(例如节点创建、节点删除、节点数据改变等)或会话状态改变时接收通知。当这些事件发生时,ZooKeeper会向客户端发送相应的通知,以便客户端可以根据需要作出相应的处理。Watcher机制帮助客户端实现了实时监控和响应ZooKeeper中数据变化的能力。

    2024-03-16
    0
  • applemusic古典乐在哪儿下载

    不少喜欢古典音乐的用户都可以在APP store里面来进行下载了,目前iOS的用户可以直接下载,里面有非常多的各种音乐资源和内容等待用户来进行查看和使用。applemusic古典乐在哪儿下载答:已经上架Apple store了,可以直接进入到对应的页面来点击下载。1、对于音质的追求,Apple Music古典乐始终坚持顶级标准,所有曲目皆采用最高清晰度(即192 kHz/24位高解析度无损)音频呈

    2024-01-24
    0
  • 「url是什么由哪部分组成」基站设备由哪部分组成

    url是什么由哪部分组成,url包括哪些部分内容导航:URL是由那3部分组成请列举什么是URL它的格式由哪几部分组成试举例说明基站设备由哪部分组成URL是由哪些部分组成的一、URL是由那3部分组成请列举URL是UniformResourceLocation的缩写,译为“统一资源定位符”。通俗地说,URL是Internet上用来描述信息资源的字符串,主要用在

    2022-05-09
    0
  • 闲鱼微信小程序叫什么

    不少用户之前都是只可以在APP端使用闲鱼,但是这一次更新之后闲鱼也有了微信小程序,我们可以更快更方便地进行操作了,下面就给大家介绍一下闲鱼官方小程序的登录方法。闲鱼微信小程序叫什么答:闲鱼丨闲置交易二手买卖估价回收 正版的如下图,可以看一下是阿里巴巴的公司的,小程序也有很多同名,需要用户自己分辨。1、登录的方法也很简单,在微信里面搜索闲鱼然后找到上图的小程序。2、点击小程序等待加载,然后就可以登录

    2024-01-26
    0
  • 怎么遍历json对象集合

    在JavaScript中,可以使用for..in循环来遍历JSON对象集合。下面是一个示例代码:let jsonObj = {“name”: “Alice”,”age”: 25,”city”: “New York”};for (let key in jsonObj) {console.log(key + “: ” + jsonObj[key]);}上面的代码会依次打印出JSON对象中的每个属

    2024-03-28
    0

发表回复

登录后才能评论