java排序-交换排序-快速排序
优化前(传统):
/*** 快速排序*/@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排序-交换排序-快速排序相关推荐
- java的 交换排序 快速排序算法_数据结构之排序算法Java实现(4)—— 交换类排序之快速排序算法...
快速排序算法属于"交换类"的排序,它的效率主要跟数据分布是否对称有关. 升序排序: /** * 快速排序 * 升序排序 */ @Override public > void ...
- Java排序算快速排序_Java排序算法 [快速排序]
package cn.com.dom4j.sort; public class QuickSort { /** 快速排序 在 Java中, 快速排序被用作基本数据类型的排序 (当然, 不只快速排序一种 ...
- python 冒泡排序 交换次数_(Python)交换排序(气泡排序、快速排序),冒泡排序...
交换排序 -- 冒泡排序 基本思想:从一端开始,逐个比较相邻的两个元素,发现倒序即交换.这里按从后往前(从下往上)逐个比较相邻元素. 数组冒泡排序过程 def bubbleSort(arr): n = ...
- java 排序算法之快速排序(挖坑法)
快速排序是(挖坑法)是挖坑填数 + 分治来实现. 快速排序的基本思想: 1.先从数列中取出一个数作为基准数. 2.分区过程,将比这个数大的数全放到它的右边,小于或等于它的数全放到它的左边. 3.再对左 ...
- 【Java】八个常用的排序算法:插入排序、冒泡排序、选择排序、希尔排序 、快速排序、归并排序、堆排序和LST基数排序
这篇文章主要介绍了Java如何实现八个常用的排序算法:插入排序.冒泡排序.选择排序.希尔排序 .快速排序.归并排序.堆排序和LST基数排序,需要的朋友可以参考下 本文实现了八个常用的排序算法:插入排序 ...
- Java排序算法总结
稳定排序: * 泡沫排序(bubble sort) - O(n²) * 插入排序 (insertion sort)- O(n²) * 桶排序 (bucket sort)- O(n); 需要 O(k) ...
- java排序算法总结_排序算法总结及Java实现
1. 整体介绍 分类 排序大的分类可以分为两种,内排序和外排序.在排序过程中,全部记录存放在内存,则称为内排序,如果排序过程中需要使用外存,则称为外排序.主要需要理解的都是内排序算法: 内排序可以分为 ...
- java排序算法大全_各种排序算法的分析及java实现
排序一直以来都是让我很头疼的事,以前上<数据结构>打酱油去了,整个学期下来才勉强能写出个冒泡排序.由于要找工作了,也知道排序算法的重要性(据说是面试必问的知识点),所以又花了点时间重新研究 ...
- 【图解算法】排序算法——快速排序
简介 首先还是得简单的介绍一下快速排序这个算法. 快速排序(Quicksort),又称划分交换排序(partition-exchange sort),一种排序算法,最早由东尼·霍尔提出.在平均状况下, ...
最新文章
- 说说你对 HTML 语义化的理解?
- Matlab实用程序--图形应用-填充图
- Lotus 下部门间用户的移动操作
- Linux服务之SSH
- pytorch 的L1Loss 的计算方式和MAE 的计算方式的差异点
- 为什么有人执着于只买黑色的手机?
- virtualenv 指定 python 解释器的版本
- ubuntu18.04窗口截图和选区截图快捷键
- 如何把电脑的计算机固定在桌面上,如何将Win7便签固定在电脑桌面上?
- 两个PDF合并成一个PDF怎么做?三分钟教会你两种方法
- PS不会用?史上最全面的PS快捷键图文使用指南来了!
- 第十一届蓝桥杯国赛题目
- Gee引擎配置微端后登录游戏黑屏怎么办?
- python设置excel单元格宽度
- Vivado® ML Editions 2022.2 最新更新(附下载链接)
- Multi-Exemplar Affinity Propagation
- 太空射击第15课: 道具
- 【其他】松下球机配置以及PELCO-P云台控制协议
- 单调函数有界性类题目解法
- 沈国军标签:零售业叛徒 马云的朋友 无所不能的怪兽