java快速排序算法_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 > 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程序设计有所帮助。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/345140.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

java奥运会安排赛程问题_记录奥运-当今五大Java记录框架之间的竞赛

java奥运会安排赛程问题开发人员&#xff1a;Takipi会告诉您何时新代码在生产中中断– Log4J vs SLF4J简单vs Logback vs Java Util日志记录vs LOG4J2 日志记录实际上是每个服务器端应用程序中古老且固有的部分。 这是应用程序以持久且可读的方式输出实时状态的主要方法。 某些…

【渝粤题库】陕西师范大学165203 社会保险学 作业(专升本)

《社会保险学》作业 一、单选题 1、劳动者参加&#xff08;&#xff09;不需要缴纳任何保险费&#xff0c;而且享受待遇不受年龄、工龄、缴费年限、性别等条件的限制。 A、养老保险 B、医疗保险 C、工伤保险 D、失业保险1948年正式宣 2、保障社会安全的最后一道防线是&#xff…

【渝粤题库】陕西师范大学189202 品牌管理 作业(专升本)

一、名词解释 1、商标 2、品牌个性 3、品牌接触点 4、品质认知 5、品牌 6、品牌联想 7、品牌联合 8、品牌经理制 9、品牌形象 10、品牌杠杆力 11、品牌审计 12、投射法 13、品牌保护 二、 选择填空 A. 消费者 B. 体验 C.品牌定位 D. 品牌标识 E.反比 F. 正比 G.伞型品牌策略 H.…

【渝粤题库】陕西师范大学200311常微分方程作业(高起本)

《常微分方程》作业 一&#xff0e;求解下列方程 1&#xff0e;求方程之通解; 2&#xff0e;求方程之通解&#xff1b; 3&#xff0e;解初值问题&#xff1b; 4&#xff0e;求方程 之通解&#xff1b; 5&#xff0e;求方程 的通解&#xff1b; 6. 求方程 的通解&#xff1b; 7…

为什么在子类中不重写超类的实例变量

当我们在父类和子类中创建一个具有相同名称的变量&#xff0c;并尝试使用持有子类对象的父类引用访问它时&#xff0c;我们会得到什么&#xff1f; 为了理解这一点&#xff0c;让我们考虑下面的示例&#xff0c;其中在Parent和Child类中声明一个具有相同名称的变量x 。 class…

【渝粤题库】陕西师范大学200681C语言程序设计 作业(高起专、高起本)

一、单选题 1&#xff0e;有如下程序段&#xff0c;其执行后的输出结果为&#xff08; &#xff09;。 main() {int i8; while(i>1) {–i; printf(“%d”,i–);} } A. 753 B. 7531 C. 8642 D. 864 2&#xff0e;在下列的数组定义中&#xff0c;哪一个有语法错误&#xff08;…

【渝粤题库】陕西师范大学201041德育论 作业(专升本)

《德育论》作业 一、单选题 1.德育过程的实质是&#xff08;  &#xff09;  A.将学生的思想品德认识转化为品德行为   B.提高学生自我教育、自我修养的自觉性  C.提高学生对客观世界的认识  D.教育者将一定社会的思想道德规范转化为受教育者个体的思想品德 2.大众传媒的…

【渝粤题库】陕西师范大学201661英语阅读(二)作业(高起专)

陕西师范大学 内 部 题 库 教育 &#xff08;yuyueshool&#xff09; 编制 《阅读&#xff08;二&#xff09;》作业 I.Words DIRECTIONS: Read the sentence given with each word and choose the best meaning for it. 1.injure Wooden spears or swords should be used on…

cocos lua调用java_【Tech-Lua】Cocos-2dx-Lua调用java的小白教程(三)

上周五下班前&#xff0c;打包成功了。我很高兴&#xff0c;周六去踢场足球&#xff0c;周日去现场看了最后一分钟掉球的恒大&#xff0c;度过了一个愉快的周末。然后&#xff0c;噩梦的周一开始了。我再次打包&#xff0c;打算打包就安装&#xff0c;但结果是失败的。为何&…

github上java项目_GitHub上10,000个最受欢迎的Java项目-以下是他们使用的顶级库

github上java项目随着Java开发人员使用既成熟又高度发展的语言来工作&#xff0c;无论何时编写新代码&#xff0c;我们都将面临一个持续的困境–使用大家都在谈论的热门新技术&#xff0c;或者坚持使用久经考验的库&#xff1f; 由于Java应用程序的很大一部分是商业性质的&…

【渝粤题库】陕西师范大学202071 统计学 作业(专升本、高起本)

《统计学》作业 一、单项选择题 &#xff11;&#xff0e;对于占全国彩电总产量绝大比重的彩电企业进行生产基本情况全面调查这是&#xff08; &#xff09;   A、典型调查  B、普查    C、重点调查 D、抽样调查 &#xff12;&#xff0e;某地进行国有商业企业经营情况…

【渝粤题库】陕西师范大学202861 发展心理学 作业(专升本)

《发展心理学》作业 一、名词解释 发展心理学正强化心理社会的合法延缓期复演说负强化学习障碍图式溶血症抓握反射应答性行为观察学习多动症 二、填空题儿童动作发展的顺序是&#xff08;  &#xff09;、 &#xff08; &#xff09;、从大肌肉到小肌肉。&#xff08;  &…

char java 回文_LeetCode刷题笔记(Java)---第1-18题

题目来自LeetCode文章目录全部章节1-18题19-40题41-60题61-80题81-100题101-120题121-140题1.两数之和2.两数相加3.无重复字符串的最长子串4.寻找两个有序数组的中位数5.最长回文子串6.Z 字形变换7.整数反转8.字符串转换整数 (atoi)9.回文数10.正则表达式匹配11.盛最多水的容器…

使用PostgreSQL使用Spring Boot和JPA构建基本应用

“我喜欢编写身份验证和授权代码。” 〜从来没有Java开发人员。 厌倦了一次又一次地建立相同的登录屏幕&#xff1f; 尝试使用Okta API进行托管身份验证&#xff0c;授权和多因素身份验证。 每个不平凡的应用程序都需要一种保存和更新数据的方法&#xff1a;可通过HTTP访问的资…

【渝粤题库】陕西师范大学210001儿童心理学 作业(高起专、高起本)

《儿童心理学》作业 一、填空 1、研究儿童心理必须遵循的原则是______ 、 _______ 、。 2、新生儿最基本的无条件反射是 、 ________ 、。 3、学前儿童掌握实物概念的特点是以_______为主&#xff0c;以_______为主。 4、感觉既是一种______现象&#xff0c;又是一种_______现象…

【渝粤题库】陕西师范大学210033 劳动法与社会保障法作业

《劳动法与社会保障法》作业 一、单项选择题 1.职工李某1985年8月进某皮鞋厂工作&#xff0c;二年后因失恋精神失常&#xff0c;经当地区精神病防治院诊断为精神分裂症&#xff0c;并经住院治疗&#xff0c;以后也常有病假。1995年9月李某以要调换新单位为由申请辞职。在单位制…

【渝粤题库】陕西师范大学292969 会计学 作业 (专升本、高起本)

陕西师范大学 内 部 题 库 教育 &#xff08;yuyueshool&#xff09; 编制 《会计学Ⅱ》作业 一、名词解释 1、会计核算 2、会计主体 3、可比性 4、会计监督 5、持续经营 6、一致性 7、复式记账 8、会计期间 9、谨慎性 10、财产清查 11、权责发生制 12、流动资产 二、填空 1、…

百分制转化为五级制java_javav 的日志-编写存储过程,将百分制成绩,转换成绩等级’A’,’B’,’C’,’D’,’E’...

要求&#xff1b;存储过程要有输入和输出create procedure chengji( in n int , out result varchar )begindeclare result varchar(20);set ntruncate(rand()*100,0);casewhen n>90 thenset resultA;when n>80 thenset resultB;when n>70 thenset resultC;when n&…

guava 并发_使用Guava对并发应用程序进行基于对象的微锁定

guava 并发编写并发Java应用程序时最令人讨厌的问题之一是对线程之间共享的资源的处理&#xff0c;例如Web应用程序的会话和应用程序数据。 结果&#xff0c;如果应用程序的并发级别很低&#xff0c;许多开发人员选择根本不同步这些资源。 例如&#xff0c;不太可能同时访问会话…

【渝粤题库】陕西师范大学500001 理论力学 作业(专升本)

《理论力学》作业 一. 填空 在平面极坐标系中&#xff0c;速度的径向分量为______ &#xff0c;横向分量为_____&#xff0c;加速度的径向分量为_____&#xff0c;横向分量为_____。在平面自然坐标系中&#xff0c;的方向为______&#xff0c;&#xff0c;质点的切向加速度为_…