全网整合营销服务商

电脑端+手机端+微信端=数据同步管理

免费咨询热线:400-708-3566

JAVA版排序算法之快速排序示例

本文实例讲述了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  # 排序算法  # 快速排序  # 图解Java排序算法之快速排序的三数取中法  # java 排序算法之快速排序  # JAVA十大排序算法之快速排序详解  # 详解Java双轴快速排序算法  # Java实现快速排序算法的完整示例  # 快速排序算法在Java中的实现  # Java深入浅出理解快速排序以及优化方式  # 递归  # 都不  # 只有一个  # 给大家  # 每次都  # 所述  # 两部分  # 程序设计  # 讲述了  # static  # lt  # extends  # QuickSort  # LinkedList  # List  # public 


相关文章: 学校免费自助建站系统:智能生成+拖拽设计+多端适配  如何挑选优质建站一级代理提升网站排名?  如何在宝塔面板中创建新站点?  义乌企业网站制作公司,请问义乌比较好的批发小商品的网站是什么?  制作无缝贴图网站有哪些,3dmax无缝贴图怎么调?  如何在服务器上三步完成建站并提升流量?  javascript中对象的定义、使用以及对象和原型链操作小结  青浦网站制作公司有哪些,苹果官网发货地是哪里?  建站主机空间推荐 高性价比配置与快速部署方案解析  实现虚拟支付需哪些建站技术支撑?  建站之星后台密码遗忘如何找回?  名字制作网站免费,所有小说网站的名字?  高配服务器限时抢购:企业级配置与回收服务一站式优惠方案  深圳网站制作设计招聘,关于服装设计的流行趋势,哪里的资料比较全面?  html制作网站的步骤有哪些,iapp如何添加网页?  外贸公司网站制作哪家好,maersk船公司官网?  如何快速生成ASP一键建站模板并优化安全性?  南京网站制作费用,南京远驱官方网站?  C++如何编写函数模板?(泛型编程入门)  mc皮肤壁纸制作器,苹果平板怎么设置自己想要的壁纸我的世界?  C#如何在一个XML文件中查找并替换文本内容  如何高效完成独享虚拟主机建站?  网站网页制作专业公司,怎样制作自己的网页?  TestNG的testng.xml配置文件怎么写  建站上传速度慢?如何优化加速网站加载效率?  网站制作壁纸教程视频,电脑壁纸网站?  如何在阿里云通过域名搭建网站?  长沙做网站要多少钱,长沙国安网络怎么样?  建站之星云端配置指南:模板选择与SEO优化一键生成  成都响应式网站开发,dw怎么把手机适应页面变成网页?  建站主机选择指南:服务器配置与SEO优化实战技巧  logo在线制作免费网站在线制作好吗,DW网页制作时,如何在网页标题前加上logo?  长春网站建设制作公司,长春的网络公司怎么样主要是能做网站的?  如何用y主机助手快速搭建网站?  哈尔滨网站建设策划,哈尔滨电工证查询网站?  建站与域名管理如何高效结合?  安徽网站建设与外贸建站服务专业定制方案  制作网站的网址是什么,请问后缀为.com和.com.cn还有.cn的这三种网站是分别是什么类型的网站?  学校建站服务器如何选型才能满足性能需求?  微信网站制作公司有哪些,民生银行办理公司开户怎么在微信网页上查询进度?  盐城做公司网站,江苏电子版退休证办理流程?  高防服务器租用指南:配置选择与快速部署攻略  广州网站制作的公司,现在专门做网站的公司有没有哪几家是比较好的,性价比高,模板也多的?  单页制作网站有哪些,朋友给我发了一个单页网站,我应该怎么修改才能把他变成自己的呢,请求高手指点迷津?  网站制作大概多少钱一个,做一个平台网站大概多少钱?  个人摄影网站制作流程,摄影爱好者都去什么网站?  建站之星安装后界面空白如何解决?  常州自助建站:操作简便模板丰富,企业个人快速搭建网站  制作证书网站有哪些,全国城建培训中心证书查询官网?  如何快速搭建虚拟主机网站?新手必看指南 

您的项目需求

*请认真填写需求信息,我们会在24小时内与您取得联系。