当前位置: 首页 > article >正文

【数据结构和算法实践-排序-快速排序】

数据结构和算法实践-排序-归并排序

    • 题目
    • My Thought
    • 代码示例
      • JAVA-8

题目

排序

My Thought

然后再进行递归,递归要注意两个方面:
一、自我调用
二、终止条件:即函数边界
注意点:树、递归*

代码示例

JAVA-8

  public class QuickSort {


    public void sort(int[] arr, int left, int right) {

        int pivot = partition(arr, left, right);

        sort(arr, left, pivot - 1);
        sort(arr, pivot + 1, right);

    }

    private int partition(int[] arr, int left, int right) {
        int index = 0;
        int pivot = arr.length - 1;
        int less = -1;
        while (index < arr.length) {
            if (arr[index] < arr[pivot]) {
                swap(arr, ++less, index);
            } else {
                index++;
            }
        }
        return less;
    }


    /**
     * 用左右两个指针,进行交换
     *
     * @param arr
     * @param left
     * @param right
     */
    private void swap(int[] arr, int left, int right) {
        int tmp = arr[left];
        arr[left] = arr[right];
        arr[right] = tmp;
    }
}


http://www.kler.cn/news/323364.html

相关文章:

  • 使用canvas截取web camera指定区域,并生成图片
  • 数据结构之——栈
  • 【Kubernetes】常见面试题汇总(四十)
  • EasyExcel 多个不同对象集合,导入同一个sheet中
  • gMLP:Pay Attention to MLPs--模型代码讲解
  • 数字通云平台智慧政务 login 存在登录绕过
  • Java | Leetcode Java题解之第435题无重叠区间
  • E9OA解决文档附件没有关联文档正文问题
  • 54K55LyB5p2l5a6i5pyN57O757uf token硬编码漏洞
  • Spring源码学习:SpringMVC(2)DispatcherServlet初始化【子容器9大组件】
  • 对于 Vue CLI 项目如何引入Echarts以及动态获取数据
  • 机器学习-SVM
  • xxl-job 适配达梦数据库
  • StarRocks Elasticsearch Catalog原理简析
  • 【机器学习】目标分类算法概述
  • UI设计师面试整理-作品集展示
  • 基于Hive和Hadoop的招聘分析系统
  • GUI-窗口,模态窗口,拖动窗口
  • centos离线安装nvm
  • 2024新版IDEA创建JSP项目
  • 查看和升级pytorch到指定版本
  • 如何让 Android 的前端页面像 iOS 一样“优雅”?
  • 从 ES5 到 ES14:深入解析 JavaScript 的演进与特性
  • 828华为云征文|部署去中心化网络的 AI 照片管理应用 PhotoPrism
  • 【教程】最新可用! 移动云手机开启Root权限方法
  • 探索甘肃非遗:Spring Boot网站开发案例
  • Ansible-触发器_打标签
  • winsoft公司Utils组件功能简介
  • 27 基于51单片机的方向盘模拟系统
  • 入选ECCV 2024!覆盖5.4w+图像,MIT提出医学图像分割通用模型ScribblePrompt,性能优于SAM