本文实例讲述了JAVA快速排序实现方法。分享给大家供大家参考,具体如下:

package com.ethan.sort.java;

import java.util.Arrays;

import java.util.Iterator;

import java.util.LinkedList;

import java.util.List;

public class QuickSort {

public static > List quickSort(List arr) {

if(arr.size()<=1) {

return arr;

}

E pivot = arr.get(0);

//每次递归都会初始化,每次list都不一样

List less = new LinkedList();

//枢轴,这个集合只有一个元素,每次都初始化,都不一样

List pivotList = new LinkedList();

List more = new LinkedList();

for(E i:arr){

if(i.compareTo(pivot)<0) {

less.add(i);

} else if(i.compareTo(pivot)>0) {

more.add(i);

} else {

pivotList.add(i);

//System.out.println("p---->"+i);

}

}

//递归

less = quickSort(less);//比pivot小的

//又进行quicksort,对more,再分成两部分

more = quickSort(more);

//拼接 less pivot more

less.addAll(pivotList);

//pv-------->[23],到最后只有一个元素了

System.out.println("pv-------->"+pivotList);

less.addAll(more);

return less;

}

/**

* @param args

*/

public static void main(String[] args) {

// TODO Auto-generated method stub

Integer[] arr = {23,2,8,43,22,32,4,5,34};

List l = quickSort(Arrays.asList(arr));

Iterator i = l.iterator();

while(i.hasNext()) {

System.out.println(i.next());

}

}

}

希望本文所述对大家java程序设计有所帮助。

java快速排序算法_JAVA版排序算法之快速排序示例相关推荐

  1. java代码实现希尔排序_Java希尔排序算法代码实现

    Java希尔排序算法代码实现 时间:2017-08-30     来源:华清远见JAVA学院 什么是Java希尔排序算法呢? 希尔排序算法实际上是一种分组插入的排序算法,又被称为缩小增量排序.今天华清 ...

  2. java常用的7大排序算法汇总

    这段时间闲了下来,就抽了点时间总结了下java中常用的七大排序算法,希望以后可以回顾! 1.插入排序算法 插入排序的基本思想是在遍历数组的过程中,假设在序号 i 之前的元素即 [0..i-1] 都已经 ...

  3. Java常用的八种排序算法与代码实现

    在Java的时候,对于排序的应用需要熟练的掌握,这样才能够确保Java学习时候能够有扎实的基础能力.那Java有哪些排序算法呢?本文小千就来详细说说Java经典的8种排序算法. 经典的排序算法有八种, ...

  4. 程序兵法:Java String 源码的排序算法(一)

    摘要: 原创出处 https://www.bysocket.com 「公众号:泥瓦匠BYSocket 」欢迎关注和转载,保留摘要,谢谢! 这是泥瓦匠的第103篇原创 <程序兵法:Java Str ...

  5. 【Java进阶营】各种排序算法的深入分析及java实现

    排序一直以来都是让我很头疼的事,以前上<数据结构>打酱油去了,整个学期下来才勉强能写出个冒泡排序.由于下半年要准备工作了,也知道排序算法的重要性(据说是面试必问的知识点),所以又花了点时间 ...

  6. JAVA:实现 gnome sort侏儒排序算法(附完整源码)

    JAVA:实现 gnome sort侏儒排序算法 package com.thealgorithms.sorts;import static com.thealgorithms.sorts.SortU ...

  7. 算法基础:排序算法之冒泡排序

    算法基础:排序算法之冒泡排序 实现:数列有序排序 思想:已知一个数列,令数列中相邻的两个元素一一做比较,按照小大的顺序(或从大到小的顺序),如果前一个数比后一个数大(或后一个数比前一个数大),则互换( ...

  8. 数据结构之排序算法:内部排序算法的应用与比较

    排序算法:内部排序算法的应用与比较 思维导图: 比较: 应用: 思维导图: 比较: 应用:

  9. 冒泡排序算法和选择排序算法比较

      冒泡排序算法详细内容见→冒泡排序算法.   选择排序算法详细内容见→选择排序算法.   冒泡排序算法和选择排序算法的区别: 冒泡排序是比较相邻位置的两个数:而选择排序是按顺序比较,找出最大值或者最 ...

最新文章

  1. 《系统集成项目管理工程师》必背100个知识点-80项目变更管理在软件项目管理中的主要活动内容...
  2. Zenoss学习杂记(十)
  3. python控制台输出到文件_Python print 立即打印内容到重定向的文件
  4. 多线程(6)线程同步
  5. mysql数据库的变量有哪些_[数据库]MySQL变量
  6. MSSOAP与WebService
  7. 这回把Spring @Async彻底搞懂了
  8. mysql数据迁移到sqlserver_技术分享 | 使用OGG实现Oracle到MySQL数据平滑迁移
  9. ArcGIS矢量图层面积计算方法
  10. Flink中的时间和窗口 完整使用 (第六章)
  11. 深度学习笔记(50) 一维到三维推广
  12. Unity材质:玻璃
  13. miui11稳定版获取完整root_MIUI11系统怎么样刷入开发版获得Root超级权限
  14. Unity导入模型贴贴图一面有贴图另一面透明的解决方法
  15. 运维工程师主要是做什么的?和网络工程师有啥区别?
  16. 如何彻底禁用 werfalut.exe
  17. EMC电磁兼容5:静电部分_1_共模信号、差模信号,静电为什么是共模信号
  18. 博途中位值平均滤波算法(附SCL完整代码)
  19. Excel实现数据转置,很方便操作
  20. 通俗易懂的讲解一下量化操作(深度学习模型定点化)

热门文章

  1. 扩展Guava缓存溢出到磁盘
  2. JAX-RS Bean验证错误消息国际化
  3. 使用JPA侦听器的数据库加密
  4. 教程:Hibernate,JPA和Spring MVC –第2部分
  5. 通过示例休眠–第1部分(删除孤儿)
  6. php注册页面模板,选项卡式WordPress登陆注册模板
  7. JSTL/EL表达式/Struts2标签/OGNL表达式
  8. Java注解(Annotation)的学习
  9. 电商系统下单时商品库存和销售状态如何处理
  10. 如何维持手机电池寿命_充电小知识:你知道如何正确充电吗?这几种充电方式最损害电池...