优化前(传统):

 /*** 快速排序*/@Testpublic void kuaiSuTest(){/*** 1、选择一个基点* 2、从两边开始向基点遍历,与基点比较,大小位置不对的就互换位置* 3、遍历结束排序完成*/sort(data,0,data.length-1);System.out.println(Arrays.toString(data));}public static void sort(int[] data,int low,int height){int i = low;int j = height;if (i>j) {return;}int key=data[i];while (i<j){while (i<j&&data[j]>key){j--;}while (i<j&&data[i]<key){i++;}if (i<j){int temp = data[i];data[i]=data[j];data[j]=temp;}}sort(data,0,i-1);sort(data,i+1,height);}

优化:

在排序时,如果碰到了相同的元素比较多的时候也就是像{3,2,1,1,1,4,5,2,2,6,2,3}这种,我们判断的时候可以直接把这个元素放在与他相同的附近

转载于:https://www.cnblogs.com/lcxz/p/10252312.html

java排序-交换排序-快速排序相关推荐

  1. java的 交换排序 快速排序算法_数据结构之排序算法Java实现(4)—— 交换类排序之快速排序算法...

    快速排序算法属于"交换类"的排序,它的效率主要跟数据分布是否对称有关. 升序排序: /** * 快速排序 * 升序排序 */ @Override public > void ...

  2. Java排序算快速排序_Java排序算法 [快速排序]

    package cn.com.dom4j.sort; public class QuickSort { /** 快速排序 在 Java中, 快速排序被用作基本数据类型的排序 (当然, 不只快速排序一种 ...

  3. python 冒泡排序 交换次数_(Python)交换排序(气泡排序、快速排序),冒泡排序...

    交换排序 -- 冒泡排序 基本思想:从一端开始,逐个比较相邻的两个元素,发现倒序即交换.这里按从后往前(从下往上)逐个比较相邻元素. 数组冒泡排序过程 def bubbleSort(arr): n = ...

  4. java 排序算法之快速排序(挖坑法)

    快速排序是(挖坑法)是挖坑填数 + 分治来实现. 快速排序的基本思想: 1.先从数列中取出一个数作为基准数. 2.分区过程,将比这个数大的数全放到它的右边,小于或等于它的数全放到它的左边. 3.再对左 ...

  5. 【Java】八个常用的排序算法:插入排序、冒泡排序、选择排序、希尔排序 、快速排序、归并排序、堆排序和LST基数排序

    这篇文章主要介绍了Java如何实现八个常用的排序算法:插入排序.冒泡排序.选择排序.希尔排序 .快速排序.归并排序.堆排序和LST基数排序,需要的朋友可以参考下 本文实现了八个常用的排序算法:插入排序 ...

  6. Java排序算法总结

    稳定排序: * 泡沫排序(bubble sort) - O(n²) * 插入排序 (insertion sort)- O(n²) * 桶排序 (bucket sort)- O(n); 需要 O(k)  ...

  7. java排序算法总结_排序算法总结及Java实现

    1. 整体介绍 分类 排序大的分类可以分为两种,内排序和外排序.在排序过程中,全部记录存放在内存,则称为内排序,如果排序过程中需要使用外存,则称为外排序.主要需要理解的都是内排序算法: 内排序可以分为 ...

  8. java排序算法大全_各种排序算法的分析及java实现

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

  9. 【图解算法】排序算法——快速排序

    简介 首先还是得简单的介绍一下快速排序这个算法. 快速排序(Quicksort),又称划分交换排序(partition-exchange sort),一种排序算法,最早由东尼·霍尔提出.在平均状况下, ...

最新文章

  1. 说说你对 HTML 语义化的理解?
  2. Matlab实用程序--图形应用-填充图
  3. Lotus 下部门间用户的移动操作
  4. Linux服务之SSH
  5. pytorch 的L1Loss 的计算方式和MAE 的计算方式的差异点
  6. 为什么有人执着于只买黑色的手机?
  7. virtualenv 指定 python 解释器的版本
  8. ubuntu18.04窗口截图和选区截图快捷键
  9. 如何把电脑的计算机固定在桌面上,如何将Win7便签固定在电脑桌面上?
  10. 两个PDF合并成一个PDF怎么做?三分钟教会你两种方法
  11. PS不会用?史上最全面的PS快捷键图文使用指南来了!
  12. 第十一届蓝桥杯国赛题目
  13. Gee引擎配置微端后登录游戏黑屏怎么办?
  14. python设置excel单元格宽度
  15. Vivado® ML Editions 2022.2 最新更新(附下载链接)
  16. Multi-Exemplar Affinity Propagation
  17. 太空射击第15课: 道具
  18. 【其他】松下球机配置以及PELCO-P云台控制协议
  19. 单调函数有界性类题目解法
  20. 沈国军标签:零售业叛徒 马云的朋友 无所不能的怪兽

热门文章

  1. LPS在无人机数据处理中的应用
  2. 一个个人网站如何融资一千万
  3. 移动端 | table 布局
  4. plsql中文乱码问题(显示问号)
  5. thinkphp5+workerman搭建微信小程序socket后台,建立自己的聊天室
  6. SSI 社会信号识别 —— 实时分析和识别人类行为
  7. Linux命令学习笔记之一目录与文件基本操作
  8. Linux ifconfig命令
  9. 国产WEB漏洞测试平台——MST
  10. 高职学生如何成为编程高手