前面我详细讲解了快排算法,现在我们用java来实现

直接上代码

package ttt;public class kuaisupaixu {public static int[] quickSort(int[] the_array,int start,int end) {if (start<=end) {int m = start;int n = end;int the_base = the_array[m];while (m<n) {while((m<n)&&(the_array[n]>=the_base)) {n--;}the_array[m]=the_array[n];while((m<n)&&(the_array[m]<=the_base)){m++;}the_array[n]=the_array[m];the_array[m]=the_base;quickSort(the_array,start,m-1);quickSort(the_array,n+1,end);}}return the_array;}public static void main(String[] args) {int []the_array = {10,1,18,30,23,12,7,5,18,17};System.out.print("之前的排序:");for(int i = 0; i < the_array.length; i++) {System.out.print(the_array[i] + " ");}int []result_array = quickSort(the_array,0,the_array.length-1);System.out.print("快速排序:");for(int i = 0; i < result_array.length; i++) {System.out.print(result_array[i] + " ");}}
}

运行结果如下

之前的排序:10 1 18 30 23 12 7 5 18 17 快速排序:1 5 7 10 12 17 18 18 23 30 

java实现快排算法相关推荐

  1. 快排算法的Java实现

    快排算法的Java实现 快排的核心是找到在无序数组中找到一个数,然后将比他小的数字放在他的左边,比他大的数字放在他的右边.然后递归的对左右两边进行继续排序,直到完成,下面看算法的实现: public ...

  2. Java快排算法详解

    快排算法底层基本思想: 先取出数列中的第一个数作为基准数. 将数列中比基准数大的数全部放在他的右边,比基准数小的数全部放在它的左边. 然后在对左右两部分重复第二步,直到各个区间只有一个数. 具体Jav ...

  3. 力扣刷题记录---快排算法

    AcWing 785. 快速排序 对快排算法思想就不描述了,针对快排递归过程中边界的取值做了总结: x为每次递归中,选取的基准数(枢轴) 如果x = q[i]或者x = q[l + r >> ...

  4. python实现快排算法(quicksort)

    python实现快排算法(quicksort) 快速排序是对冒泡排序的一种改进.它的基本思想是:通过一次排序将要排序的数据分割成独立的两部分,其中一部分的所有数据都比另外一不部分的所有数据都要小,然后 ...

  5. 快排算法的针对重复键值的优化

    上一节讲了快排算法在序列基本有序的情况下的两种优化方法,这一节我们对新的测试用例进行测试,测试用例如下所示: int main() {//测试 - 待排序列的重复值很多int n = 400000;i ...

  6. 三路快排算法加强版(三路快排的再次改进)

    :不要忘记初心哈 :) 理论依据 快排算法的缺陷及其逐一改进 三路快排尽可能三等份划分区间 通过待排元素的区间长度划分? 通过待排元素的最值之差划分? 直接使用待排元素的最大值划分? 实验数据 大范围 ...

  7. java快排算法解读,java 快排的思路与算法

    java 快排的思路与算法 有时候面试的时候的会问道Arrays.sort()是怎么实现的,我以前根本不知道是什么东西,最近点进去看了一下.直接吓傻, //看到这个时候还是比较淡定的,可怕的事情来了. ...

  8. 快排算法 java_快排算法的实现与讲解(java/C++)

    快排的算法其实不复杂,但是很少时候,偶尔整的自己头晕,所以写一篇博客,以免以后忘记. 假设我们的数组为:{5,2,1,8,9,3,7,0,4,6},一共10个数字,现在需要将这个数组进行排序.首先我们 ...

  9. Java 单边快排 与 双边快排

    目录 一.单边快排 二.双边快排 一.单边快排 代码:已是该算法的最优情况 package com.wxl;import java.lang.reflect.Array; import java.ut ...

最新文章

  1. vuejs和html语言一样么,vue和vue.js有区别吗?
  2. matlab中plot同时绘制两个函数时向量长度不一致的解决办法
  3. 启明云端分享|ESP32-­C3­-MINI­-1和ESP32­-C3-­MINI-­1U的区别是什么?
  4. hdu 6396 Swordsman (技巧)
  5. 【教程】Edraw Max使用教程:如何打印大流程图?
  6. MogoH5+基于Hbuilder做ios真机测试
  7. [Vue.js] 基础 -- 案例之Tab选项卡
  8. 《图解HTTP》-读
  9. 数据库知识点一共涉及这几方面知识
  10. jmeter录制脚本
  11. CE的EMC测试(EN55022-EN55024-EN55014)-转载
  12. U盘exe病毒解决方案
  13. 百度与谷歌地图坐标转换
  14. HDU4622 Reincarnation
  15. 联想小新一键恢复小孔_联想一键恢复系统怎么用?小新Air 13 Pro怎么还原操作系统?...
  16. 计算机基础晦涩难懂?那你是没看他的图解文章!
  17. 怎么用云服务器搭建游戏,搭建游戏用什么云服务器
  18. 数学基础(矢量, 向量,矩阵,相等,加法,乘法)
  19. (新)Chrome浏览器自定义背景插件
  20. iOS直播app原理

热门文章

  1. 要跑得快,还需跑的稳
  2. jsp 调用html,jsp怎么调用css样式?
  3. 输入法中的全角与半角的区别
  4. Canvas 的clearRect()方法与beginPath()方法
  5. ESP8266_11 ESP8266的UDP广播
  6. 机器学习 房产价格预测
  7. Go语言基础之开发环境
  8. 降采样数字滤波器-MATLAB建模
  9. leaflet图标闪烁(leaflet篇.20)
  10. JS简单实现京东图片放大镜效果