在下边工具类MyArrays中
思路:

import java.util.Arrays;

public class MyArray {
public static double getMax(double[] arr) {
double max = arr[0];
for (int i = 1; i < arr.length; i++) {
if (max < arr[i]) {
double temp = max;
max = arr[i];
arr[i] = temp;
}
}
return max;
}

public static double getMin(double[] arr) {double min = arr[0];for (int i = 1; i < arr.length; i++) {if (min > arr[i]) {double temp = min;min = arr[i];arr[i] = temp;}}return min;
}public static double getLength(double[] arr) {return arr.length;
}// 快速排序
public static void sort(double[] arr) {quickSort(arr,0,arr.length);
}// 一趟
public static int adjustArray(double[] arr, int s, int l) {int i = s, j = l - 1;double temp = arr[i];while (i < j) {// 由左向右查找小于temp的数while (i < j && arr[j] >= temp) {j--;}if (i < j) {arr[i] = arr[j];i++;}while (i < j && arr[i] <= temp) {i++;}if (i < j) {arr[j] = arr[i];j--;}}arr[i] = temp;System.out.println(i);return i;
}// 分治,递归调用
public static void quickSort(double[] arr, int s, int l) {if (l - s > 0) {int i = adjustArray(arr, s, l);quickSort(arr, i + 1, l);quickSort(arr, s, i);}
}public static void print(double[] arr) {System.out.println(Arrays.toString(arr));
}public MyArray() {// TODO Auto-generated constructor stub
}public static void main(String[] args) {// TODO Auto-generated method stubdouble[] arr = { 1, 2, 5, 3, 6, 3, 2, 5 };/*System.out.println(getMax(arr));System.out.println(getMin(arr));*/sort(arr);print(arr);
}

}

ps:本人java小白,望路过大佬指点

快排(java实现)相关推荐

  1. 快排--java实现

    快速排序思想 快速排序的思想,寻找一个轴位,比这个轴小的放到左边,比这个轴大的放到右边,然后分别再对两边进行如此的方法即可得到排序的数组. 这样说起来晦涩难懂,我们举个例子来实现. 例如数组:{13, ...

  2. java三路快排,java二路快排很慢

    老师,以下是我二路快排的java代码 public class quickSortTwoway { public quickSortTwoway() {}; public static void qu ...

  3. 快排Java代码实现(Quick Sort)

    1.  快排算法思路 基本思想:通过一趟快速排序将待排数组分割成独立的两份部分; 其中一部分数组的值均比另一部分数组的值小,则可分别对着两部分数组继续进行排序,以达到整个序列有序. 快排的平均时间复杂 ...

  4. 快排——Java实现快速排序代码

    快排作为最常用的排序算法,他主要是以一个数为基准数,将数组中的其他数按一定的顺序放入两边.以从小到大排序为例,快排的操作就是将比基准数小的都放到它的左边,比基准数大的都放到它的右边,然后左右两边再分别 ...

  5. 快排java实现图文解释

    先上代码: /******************************************************* *快速排序 (比较排序类) *每次排序将待排记录分割两部分,一部分都比关键 ...

  6. java快排(java快排函数)

    java培训机构排名动力节点排第几? 没有排名,在我心里他是第一,现在都做了10年了,我15年就毕业了,一转眼过去四年了,学校的课程还是跟以前一样每隔一段时间就更新,这段时间的架构师课程对我帮助就很大 ...

  7. java8 快排_Java 8快多少?

    java8 快排 Java SE 8已于昨天发布 . 传统上,每个新的主要JRE版本都提供免费的性能提升. 我们还能再获得免费午餐吗? 这次收益有多大? 让我们对其进行基准测试. 基准方法 使用3个不 ...

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

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

  9. java 快排_八大排序-快速排序(搞定面试之手写快排)

    概要 快速排序由C. A. R. Hoare在1960年提出,是八大排序算法中最常用的经典排序算法之一.其广泛应用的主要原因是高效,核心算法思想是分而治之.快速排序经常会被作为面试题进行考察,通常的考 ...

  10. java 快排和堆排序

    1.  这段时间准备找工作了,所以就从最简单的排序开始看看(以下是java实现的快速排序和堆排序): 注:快排和堆排序都是根据二叉树的原理来加快排序速度的... 快排: public static v ...

最新文章

  1. python复习冒泡排序
  2. 下列哪个可以选中矩形文字块_PPT很难?一个字母就可以搞定
  3. 减速电机JGA25-370的控制电路
  4. 每日一皮:这个食堂好...
  5. 来自NASA的全球高程DEM数据
  6. 三大独家优势赢得关注 神策数据成功签约借贷宝
  7. 最长无重复字符子串?
  8. Linux 时间函数的使用
  9. C++工作笔记-VS中“调用堆栈”窗口的使用,实现越界的快速定位
  10. Linux学习笔记---移植官方uboot步骤(二)
  11. eclipse找不到arm-linux-gcc,使用 Eclipse 和 ARM GCC 搭建 STM32 开发环境
  12. Android studio中的一次编译报错’Error:Execution failed for task ':app:transformClassesWithDexForDebug‘,困扰了两天
  13. 【Android工具】更新Yandex有道云笔记网页剪辑插件测试正常!可以安装PCchrome插件的手机浏览器!...
  14. RS-485接口详解
  15. String转成JSON或String转为list后转为JSON或String转为map后转为JSON
  16. android刷机恢复出厂设置吗,安卓手机恢复出厂设置和双清有什么区别?
  17. mmdetection训练记录
  18. 个人站长常用的4款网站统计工具
  19. 织梦服务器有什么文件,对于织梦CMS各目录内文件的说明详解
  20. Linux 下分区表的备份与恢复

热门文章

  1. 售前工程师的一些面试
  2. linux下查看网络连接、进程、服务
  3. C语言中strtod()函数的用法详解
  4. 老家见闻--一个程序员的成长史(8)
  5. 如何赚到人生第一桶金,副业新方式,2小时卖600元。
  6. 身份证验证函数,可查看身份证地区信息
  7. 算法基础课-动态规划
  8. 动态网页的信息爬取(Python+Selenium)
  9. MIPI CSI接口调试方法:时序调试
  10. 设置ListBox默认全选并读取ListBox选中项目的数量显示于TextBox中