package textpack;public class sf {private static void xx(int a[],int left,int right) {   if(left < right) {//递归出口条件判断int x = a[left];        int i=left;int j = right;//整个循环目的:用基准数x,将数组分为2个部分(准确来讲是3部分->【左数组】,x,【右数组】)while(i<j) {/**从后往前比较*/while(i < j && a[j] <= x)j--;if(i < j) {a[i]=a[j];i++;}            /**从前往后比较*/while(i<j && a[i] > x) i++;if(i<j) {a[j]=a[i];j--;               }}      a[i]=x;        xx(a,left,i-1);//左边数组xx(a,i+1,right);//右边数组}}
public static void main(String[] args)
{int[] arr = { 49, 38, 65, 97, 23, 22, 76, 1, 5, 8, 2, 0, -1, 22 };xx(arr, 0, arr.length - 1);for(int i=0;i<arr.length;i++){System.out.print(arr[i]+" ");}
}
}

快速排序 java 实现相关推荐

  1. 快速排序 Java模板

    快速排序Java模板 详情参考 https://www.acwing.com/problem/content/787/ https://www.acwing.com/solution/content/ ...

  2. 快速排序Java实现

    快速排序Java实现 快速排序是一种分治的排序算法,将一个数组分成两个数组,将两部分独立地排序.一般策略是先取基准元素,又称切分元素,从数组右边开始向左扫描直到找到一个不大于它的元素填入到右边的坑内, ...

  3. 快速排序java代码_8 种排序算法与 Java 代码实现!

    1.直接插入排序 经常碰到这样一类排序问题:把新的数据插入到已经排好的数据列中. 将第一个数和第二个数排序,然后构成一个有序序列 将第三个数插入进去,构成一个新的有序序列. 对第四个数.第五个数--直 ...

  4. 快速排序 java导包_排序算法-快速排序(Java实现)

    上篇我们讲了冒泡排序,这次我们讲它的升级版快速排序,"快速",一看就是个好算法~ 快速排序(QuickSort)是啥? 我们先看下百度百科的介绍快速排序(Quicksort)是对冒 ...

  5. 冒泡排序、快速排序 java代码实现

    文章目录 冒泡排序 源码实现 单元测试 优化 快速排序 源码实现 单元测试 冒泡排序 源码实现 package csdn.dreamzuora.sort;import java.util.List;/ ...

  6. 快速排序 java代码_java实现快速排序

    一:快速排序的特征 1:冒泡排序的改进 2:内部交换数据 3:分治+递归的思想 4:稳定排序 5:时间复杂度为:O(n*logn) 二:算法的整体思路 1:原始数据:12 11 6 87 23 8 5 ...

  7. 快速排序 java cutoff_排序之 快速排序

    采用算法导论上的实现方式,用java实现. 快排算法核心的部分便是partition过程,这里的partition采取最后一个元素作为pivot,i和j两个指针都从头向后扫描,如下图所示,数组被分为4 ...

  8. 十大排序算法之(二)快速排序--JAVA+C++实现(简单易懂)

    文章目录 快速排序(Quicksort) 1.实现原理: 1.1.动图展示: 1.2.实现步骤: 2.时间复杂度 3.代码实现: 3.1.JAVA 实现 3.2.C++实现 3.3.C语言实现 3.4 ...

  9. 快速排序 Java 针对重复元素

    与归并排序一样,快速排序也是采用分治策略.但是归并排序的计算量主要集中在有序子序列的合并上,而子序列的划分几乎不花费时间.快速排序恰恰相反,可以在o(1)的时间内完成子序列的合并,对于将原问题划分上需 ...

  10. 算法图解之快速排序(JAVA版本)

    阅读这篇文章就证明你已经开始踏上了算法的修仙之路,接下来我会两天一更,介绍图解算法里面的算法的实现, 适合Java程序员阅读. 文章目录 前言 一.什么是分治思想? 1.核心思想 2.案例展示 二.快 ...

最新文章

  1. # 20145220《信息安全系统设计基础》第1周学习总结
  2. NFS服务器是什么?(Network File System 网络文件系统)(远程主机间 mount 挂载目录)(ubuntu:nfs-kernel-server)
  3. 第18课:项目实战——利用 PyTorch 构建 RNN 模型
  4. 设计模式学习笔记-代理模式
  5. poj 3461 Oulipo (KMP)
  6. hashtable允许null键和值吗_【29期】Java集合框架 10 连问,你有被问过吗?
  7. NIOS II EDS NIOS II IDE 转载
  8. 12. Magento 后台top栏开发
  9. 插件基础篇3:jquery 插件开发备注
  10. 编程的未来 Java, C, Go, Swift, Dart? Uncle Bob Martin - The Future of Programming
  11. 如何在电脑表格中用计算机,如何制表(如何使用电脑制作表格)
  12. mantelhean.test r语言_Meta分析常用教程:R语言
  13. 一份ERP系统总体解决方案
  14. Googler为什么很幸福?
  15. matlab电机仿真精华50例 清晰版,MATLAB电机仿真精华50例PDF 源码.part1
  16. YYLabel和YYTextView的使用
  17. SSM框架与Springboot框架的区别
  18. Matlab:连续按键、移动鼠标、鼠标点击、鼠标连点、输入字符,10行代码即可。
  19. 综合素质能力测试软件,儿童综合素质体检测评系统
  20. mel频谱--学习笔记

热门文章

  1. python右下角弹出消息
  2. c++带成员指针使用
  3. pycharm调试显示图片
  4. LDAP操作过程中出现的错误代码
  5. 一、为什么要使用NoSQL数据库
  6. 人工操作阶段计算机是如何工作的,第一章计算机基础概述全解.ppt
  7. 弱引用使用场景桌面_吃透Java基础十五:强引用、软引用、弱引用、虚引用
  8. 努比亚红魔有人脸识别_魅族魅蓝6T、努比亚红魔Mars电竞手机、华为畅享10Plus对比...
  9. 微信在诺基亚手机登录服务器繁忙,马化腾正式宣布:禁止在该手机上登录QQ和微信?网友:诺基亚再见...
  10. python数组转换为列表_python - 将一系列数组转换为单个列表 - SO中文参考 - www.soinside.com...