快速排序正如名字一样,因为有着O(NLogN)的时间复杂度,效率很快,在很多时候备受青睐,里面使用了递归,分治的思想。下面就来演示一下java如何实现快速排序。

public class QuickSort {public static void main(String[] args) {int[] arr = {5,2,4,8,1,9,3,15};quickSort(arr, 0, arr.length - 1);System.out.println(Arrays.toString(arr));}private static void quickSort(int[] arr, int low, int high){if(low < high){int index = getIndex(arr, low, high);quickSort(arr, low, index - 1);quickSort(arr, index + 1, high);}}private static int getIndex(int[] arr, int low, int high) {int temp = arr[low];while(low < high){while(low < high && arr[high] >= temp){high--;}arr[low] = arr[high];while (low < high && arr[low] <= temp){low++;}arr[high] = arr[low];}arr[low] = temp;return low;}}

快速排序java实现版相关推荐

  1. 终于,把十大经典排序算法汇总了!(Java实现版)

    转载自  终于,把十大经典排序算法汇总了!(Java实现版) 最近几天在研究排序算法,看了很多博客,发现网上有的文章中对排序算法解释的并不是很透彻,而且有很多代码都是错误的,例如有的文章中在" ...

  2. Hello World -- Java Web版(Java Web 入门教程)

    在阅读本文之前,你一定知道如何用Java语言写出"Hello, World!"了.那么,用Java语言如何写出Web版的"Hello, World!",使之显示 ...

  3. linux控制台单人五子棋简书,Java控制台版五子棋的简单实现方法

    这篇文章主要给大家介绍了关于Java控制台版五子棋的简单实现方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧 设计一个10*1 ...

  4. java桌面版_长大了Java! 提出Java桌面版

    java桌面版 不,这不是另一个" Java已死"的咆哮. Java非常活跃. 它是可用的最佳开发和运行时平台之一. 迄今为止,最稳定的平台. 那可能只是它最大的祸根. 荒谬! 稳 ...

  5. 生鲜配送ERP系统_对商品模块数据模型与界面设计的思考【Java 开源版】杭州生鲜配送系统_升鲜宝_SaaS全链路生鲜供应链管理系统_升鲜宝

    生鲜配送ERP系统_对商品模块数据模型与界面设计的思考及简要分析[Java 开源版]杭州生鲜配送系统_升鲜宝_SaaS全链路生鲜供应链管理系统_升鲜宝 一直在研究与改造自己的生鲜配送系统,越来越觉得后 ...

  6. JAVA前端修改密码,Java Web版SVN 配置管理工具 2.0 (远道建立仓库,修改密码,设置权限,支持apache等)...

    Java Web版SVN 配置管理工具 2.0 (远程建立仓库,修改密码,设置权限,支持apache等) 3.0开始,已经迁移到google code,这里停止下载.http://code.googl ...

  7. JAVA Applet版的连连看游戏

    JAVA Applet版的连连看游戏>> 由于这个游戏大小与网页页面大小不符合:请链接:http://www.dotnet.pp.ru/SMQ/AppletLilikan.htm 这是一个 ...

  8. 视频教程-企业微信视频教程(Java标准版)-微信开发

    企业微信视频教程(Java标准版) 微信企业号星级会员.10多年软件从业经历,国家级软件项目负责人,主要从事软件研发.软件企业员工技能培训.已经取得计算机技术与软件资格考试(软考)--"信息 ...

  9. 企业微信视频教程(Java标准版)-翟东平-专题视频课程

    企业微信视频教程(Java标准版)-5576人已学习 课程介绍         企业微信教程有:"标准版"和"在线版".正常的,学习"标准版" ...

最新文章

  1. shell版俄罗斯方块
  2. LeetCode 31 Next Permutation(下一个全排列)
  3. PHP学习总结(会话控制)
  4. 青春可长可短, 就看自己如何度过(亦或者如白驹过隙, 稍纵即逝 正所谓且行且珍惜)...
  5. mysql 学习笔记03修改表以及其他操作
  6. 关于郭安定 - 了解我更多
  7. 嵌入式的薪资还是挺低的
  8. 作一个真正合格的飞秋局域网聊天
  9. 哈夫曼编解码原理与实现【转载】
  10. 关于看板方法,你需要知道的几件事
  11. JAVA day24,25,26 异常(try、catch、finally、throw、throws),线程(Thread、Runnable、Callable)
  12. iOS开发之iOS11频繁刷新TableView向下偏移的问题
  13. git jenkins 子目录_在Jenkins中,如何将项目签出到特定目录(使用GIT)
  14. passcode - pwnable
  15. 什么是四种七和弦 和三种转位
  16. 幼儿园案例经验迁移_在建构区中如何将游戏经验迁移为知识经验
  17. 在WIN7下使用VB6.0
  18. TcaplusDB君 · 行业新闻汇编(12月25号)
  19. 第二章 预习导图 部署DNS服务
  20. C语言学习《经典C语言程序100例》day 2

热门文章

  1. OS_exp2 进程控制(Linux环境)
  2. iPhone内存不足,开机白苹果?
  3. MAC地址,IP地址,ARP协议简述
  4. Litmus 实践:让群魔在混沌中乱舞,看 K8s 能撑到何时
  5. 性能测试概念以及分类
  6. 收藏:电力窃漏电用户自动识别,可视化全流程这样操作~
  7. IOS开发里面使用RGB颜色
  8. 看完不会的来打我!大厂经典高频面试题体系化集合,offer拿到手软
  9. Mysql存储过程实践
  10. Python+requests 有道翻译接口 翻译中英文