JAVA快速排序算法实现

   private static void quickSort(int[] arr, int start, int end) {if(start < end) {int base = arr[start];int low = start;int high = end + 1;while (true) {while(low < end && arr[++low] <= base);while(high > start && arr[--high] >= base);if (low >= high) {break;}swap(arr, low, high);}swap(arr, start, high);quickSort(arr, start, high - 1);quickSort(arr,  high + 1, end);}}

交换方法:

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

调用方法:

private static void main(String[] args) {int[] arr = new int[]{4,7,6,4,5,8,1,8,2,3,54,-1};int low = 0, high = arr.length - 1;subSort(arr,low,high);
}

JAVA快速排序算法实现相关推荐

  1. Java 快速排序算法

    简介 上一章我们学习了 Java 希尔排序算法,这一章,我们来学习快速排序算法,so,多了不说,继续老规矩,学习内容如下: 1.快速排序的定义 2.快速排序的思路 3.代码实现 1.快速排序的定义 快 ...

  2. java快速排序算法_JAVA版排序算法之快速排序示例

    本文实例讲述了JAVA快速排序实现方法.分享给大家供大家参考,具体如下: package com.ethan.sort.java; import java.util.Arrays; import ja ...

  3. java 快速排序算法简单_排序算法java版,速度排行:冒泡排序、简单选择排序、直接插入排序、折半插入排序、希尔排序、堆排序、归并排序、快速排序......

    先推荐一篇关于排序算法的文章:http://www.cppblog.com/guogangj/archive/2009/11/13/100876.html 本文思路部分来源于上篇文章,但测得的结果似乎 ...

  4. Java 快速排序算法实现-----面试

    思路: 首先拿到数组第一个元素作为基数,然后遍历数组,比基数小的,放在左边,比基数大的,放在数组右边. 遍历一遍之后,再对数组左边和右边分别进行同样的快速排序 代码: package com.xiny ...

  5. 快速排序算法(基于Java实现)

    title: 快速排序算法(基于Java实现) tags: 快速排序算法 快速排序算法的原理与代码实现: 一.快速排序算法的原理 快排算法的思想是: 如果需要排序数组中下标从p到r之间的一组数据,我们 ...

  6. java 概率 算法_使用概率算法优化快速排序(JAVA)

    前言 前面一篇文章系统介绍了快速排序算法,提到快速排序虽然平均时间复杂度为o(n*log2(n)),效率相对比较高.但是其在特殊情况下,比如降序的情况下,效率和冒泡排序一致,这就削弱了快速排序给人的好 ...

  7. 快速排序算法 java 实现

    快速排序算法 java 实现 快速排序算法Java实现 白话经典算法系列之六 快速排序 快速搞定 各种排序算法的分析及java实现 算法概念 快速排序是C.R.A.Hoare于1962年提出的一种划分 ...

  8. java随机数排序算法_理解快速排序算法

    快速排序在平均状况下,排序n个项目要Ο(n log n)次比较.在最坏状况下则需要Ο(n^2)次比较,但这种状况并不常见.事实上,快速排序通常明显比 其他Ο(n log n)算法更快,因为它的内部循环 ...

  9. java 快速排序_面试必不可少的几大排序算法,你掌握了吗?

    从上学那一刻起,老师就说排序算法很重要,面试的时候考官常会问道,要我们认真的学习,出去工作的学长学姐也说这么说的,那么为了能在面试中取得好的印象,我们很有必要对算法进行了解,以便在面试中取得好的印象, ...

最新文章

  1. 零基础参加java培训主要学什么
  2. 数据与计算机通信第八版pdf,数据与计算机通信(第八版)(英文版)
  3. 人工智能会终结就业吗?
  4. linux7做服务器,centos7 搭建yum服务器
  5. 潘淳的苏州.NET俱乐部成立有感!附我的录音
  6. Android 常见内存泄漏及解决方法
  7. vts传感器采取船舶的_详解虎门大桥监测系统:传感器与物联网功不可没
  8. html5 多文件选择
  9. angular获取图片高宽_Angular 读书笔记
  10. linux 下把整数转化为字符串
  11. 交换机芯片笔记2.1
  12. Linux环境运行jmeter+测试报告查看
  13. 论文参考文献格式及意义
  14. rtl8812bu网卡Linux驱动,Linux 安装 RTL8812AU 无线 USB 网卡驱动
  15. wps2019数据分析加载项_wpsexcel数据分析工具在哪里
  16. LeetCode动态规划题解
  17. 在idear中基于ssm框架做一个项目需要考虑的基本步骤
  18. 氢原子光谱、类氢原子光谱和类氢离子光谱
  19. Linux系统到底是什么?
  20. 华为最新鸿蒙消息,飞象网项立刚:华为鸿蒙7年后全球第一!网友:oppo第一个反对!...

热门文章

  1. C/C++程序员如何学习英语
  2. android+wear+游戏,技术帝:Android Wear手表运行一代PS游戏
  3. mysql sql sysdate_MySQL与Oracle SQL语言差异比较一览
  4. 计算机等级考试四级有多少题,全国计算机等级考试四级试题(一)
  5. 华为调研了82位离职博士,任正非发电邮深讨人才流失根源
  6. Linux学习总结(45)——Linux服务器出现卡慢的基本解决方法
  7. Docker学习总结(10)——10分钟玩转Docker
  8. 一个长方体玻璃容器从里面量长宽_在玻璃鱼缸里用微型观叶植物布置景观,比盆景还要迷人...
  9. mysql 优化关键字_MySQL 优化之 EXPLAIN 关键字
  10. 企业分布式微服务云SpringCloud SpringBoot mybatis (二)服务消费者(rest+ribbon)