该楼层疑似违规已被系统折叠 隐藏此楼查看此楼

快速排序

public class TestMain {

public static void main(String[] args) {

Integer[] list={34,3,53,2,23,7,14,10};

QuicSort qs=new QuicSort();

qs.quick(list);

for(int i=0;i

System.out.print(list[i]+" ");

}

System.out.println();

}

}

class QuicSort{

public int getMiddle(Integer[] list, int low, int high) {

int tmp = list[low]; //数组的第一个作为中轴

while (low < high) {

while (low < high && list[high] > tmp) {

high--;

}

list[low] = list[high]; //比中轴小的记录移到低端

while (low < high && list[low] < tmp) {

low++;

}

list[high] = list[low]; //比中轴大的记录移到高端

}

list[low] = tmp; //中轴记录到尾

return low; //返回中轴的位置

}

public void _quickSort(Integer[] list, int low, int high) {

if (low < high) {

int middle = getMiddle(list, low, high); //将list数组进行一分为二

_quickSort(list, low, middle - 1); //对低字表进行递归排序

_quickSort(list, middle + 1, high); //对高字表进行递归排序

}

}

public void quick(Integer[] str) {

if (str.length > 0) { //查看数组是否为空

_quickSort(str, 0, str.length - 1);

}

}

}

Java中运用数组的四种排序方法_JAVA中运用数组的四种排序方法相关推荐

  1. java中的排序方法_Java中8种常见的排序方法

    本博主要介绍Java中几种常见的排序算法: /* 排序方法的演示 1)插入排序(直接插入排序.希尔排序) 2)交换排序(冒泡排序.快速排序) 3)选择排序(直接选择排序.堆排序) 4)归并排序 5)分 ...

  2. java定义数组_java中数组的三种定义方式_java中数组的定义及使用方法(推荐)...

    java中数组的三种定义方式 java中,数组是一种很常用的工具,今天我们来说说数组怎么定义 [java] view plain copy /** * 数组的三种定义方法 * 1.数组类型[] 数组名 ...

  3. java四种修饰符_java中的四种修饰符

    在编程过程中,经常会遇到四种修饰符来控制访问权限.之前对这个知识点没有研究过,一直是一知半解,每次遇到问题都模棱两可,不能给出一个确切的答案.近几天系统的看了看,也有了自己的一点心得体会. 正文: 先 ...

  4. java多线程同步的四种方法_java中实现多线程的两种方法

    java多线程有几种实现方法,都是什么?同步有几种实java中多线程的实现方法有两种:1.直接继承thread类:2.实现runnable接口:同步的实现方法有五种:1.同步方法:2.同步代码块:3. ...

  5. java 7种枚举类型_Java中的枚举类型

    枚举类比较用 == 还是 equals,有啥区别? java 枚举值比较用 == 和 equals 方法没啥区别,两个随便用都是一样的效果.因为枚举 Enum 类的 equals 方法默认实现就是通过 ...

  6. java list 时间排序吗_java中的list时间排序

    最初设想使用:时间long型 private void testTimes() throws InterruptedException{ Calendar cal=Calendar.getInstan ...

  7. java里break的使用方法_Java中break的第三种用法说明

    在Java中,break语句有三种用法,第一种是用于终止switch语句中的语句序列,第二种是用于退出循环,然而第三种是用作goto语句的"文明"形式! 我们知道,goto语句会破 ...

  8. java定时执行某个方法_Java中定时执行任务的三种方法

    Java中定时执行任务的三种方法 1)java.util.Timer 这个方法应该是最常用的,不过这个方法需要手工启动你的任务: Timer timer=new Timer(); timer.sche ...

  9. java 数组定义方法_java中定义数组的方法有哪些

    java中定义数组的方法有哪些 发布时间:2020-06-25 18:10:36 来源:亿速云 阅读:130 作者:Leah 这篇文章运用简单易懂的例子给大家介绍java中定义数组的方法,代码非常详细 ...

  10. java数组的长度不确定怎么办_java中申请不定长度数组ArrayList的方法

    如下所示: import java.util.arraylist; //java中申请不定长度数组 public class test01 { public static void main(stri ...

最新文章

  1. R语言广义线性模型Logistic回归模型列线图分析(nomogram)
  2. python下载文件到指定文件夹-python实现指定文件夹下的指定文件移动到指定位置...
  3. 【Linux 内核】进程管理 task_struct 结构体 ③ ( real_parent 字段 | parent 字段 | group_leader 字段 | real_cred、cred字段 )
  4. 徐波 博士 计算机,徐波教授:医工联合促进智能肿瘤学发展——探秘肿瘤精准治疗中的AI技术...
  5. 先睹为快!第十一届数据技术嘉年华七大看点全揭秘
  6. 历法 —— 星期与“日月火水木金土”
  7. 自用JavaMail实现
  8. 设计某高校学生选课管理系统
  9. QQ空间自动发广告解决方法
  10. 业务数据双中台助力实现大型医药集团
  11. Caffe(12)--实现YOLOv2目标检测
  12. abb机器人过载报错_ABB机器人驱动模块温度警告及保养方案简介
  13. 关于你看得懂看不懂的罗永浩
  14. VBA学习笔记4:将同一文件下的多个工作簿的数据汇总为一个工作表
  15. gps android 卫星位置,Android手机GPS获取卫星数量不正确问题
  16. 基于KCOM3模块编写脚本控制电脑键盘鼠标,附控制软件
  17. Fiddler创建根证书不成功和无法找到根证书的解决方法
  18. Qt 事件机制,底层实现原理
  19. MySQL 数据库(包括基础和进阶CURD、事务和索引)
  20. matlab校内赛传染病预测趋势以及控制 附代码

热门文章

  1. Android Native 内存泄漏系统化解决方案
  2. WAF+SLB负载不均衡案例分享
  3. 张建锋:一两年内,阿里巴巴100%的业务都会上公共云
  4. MySQL8.0.14 - 新特性 - InnoDB Parallel Read简述
  5. 阿里云OCR证件识别商业化发布,减少人工审核误差节省成本
  6. 开放分布式追踪(OpenTracing)入门与 Jaeger 实现
  7. 全链路压测一招搞定,阿里云性能测试铂金版发布
  8. 山石网科发布数据安全综合治理体系,覆盖数据全生命周期
  9. 云+X案例展 | 民生类:基于AWS PaaS构建基础集团企业级中台
  10. 那些年我们用过神级的代码注释