JAVA版排序算法之快速排序示例
2017-01-03 14:09
357 查看
本文实例讲述了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 <E extends Comparable<? super E>> List<E> quickSort(List<E> arr) { if(arr.size()<=1) { return arr; } E pivot = arr.get(0); //每次递归都会初始化,每次list都不一样 List<E> less = new LinkedList<E>(); //枢轴,这个集合只有一个元素,每次都初始化,都不一样 List<E> pivotList = new LinkedList<E>(); List<E> more = new LinkedList<E>(); 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中实现quickSort快速排序算法的方法
- Java编程中快速排序算法的实现及相关算法优化
- 详解Java中使用泛型实现快速排序算法的方法
- 详解快速排序算法中的区间划分法及Java实现示例
- java实现快速排序算法
- 浅析java快速排序算法
- 快速排序算法原理及java递归实现
- Java实现快速排序算法(Quicktsort)
- java 合并排序算法、冒泡排序算法、选择排序算法、插入排序算法、快速排序算法的描述
- Java中的数组排序方式(快速排序、冒泡排序、选择排序)
- java数组排序示例(冒泡排序、快速排序、希尔排序、选择排序)
- Java 快速排序(QuickSort)原理及实现代码
相关文章推荐
- java对世界各个时区(TimeZone)的通用转换处理方法(转载)
- java-注解annotation
- java-模拟tomcat服务器
- java-用HttpURLConnection发送Http请求.
- java-WEB中的监听器Lisener
- Android IPC进程间通讯机制
- Android Native 绘图方法
- Android java 与 javascript互访(相互调用)的方法例子
- Debian 7.x 安装Oracle JAVA
- springmvc实现url路由功能
- spring boot 配置 druid/** * 配置druid * Created by adam on 4/11/16. */ @Configuration public class D