多线程并发排序使得排序效率更高,设计者脑洞真大。。。

排序算法一般是力求兼顾时间和空间的平衡。

当数值太小时,误差太大,睡眠的时间不比输出的时间少,就会存在不正确的输出结果

public class SortUtil{public static void main(String[] args){int[] nums=new int[]{1,2,34,4,45,56};sleepSort(nums);}public static void sleepSort(int[] nums){for(int i=0;i<nums.length;i++){final int num=nums[i];new Thread(()->{try{Thread.sleep(num);}catch(InterruptedException e){e.printStackTrace();}System.out.println(num);}).start();}}
}

真是厉害啊,这排序 ,时间复杂度是o(n)

但是有很多bug。比如

(1) 搞不定负数

(2)比如输入数据很相近时会有误差

(3)输入数据很多时,这些线程不能看作是同时启动等等...

【睡眠排序】java相关推荐

  1. 【Java】睡眠排序

    写这个东西的缘由 这是一个羞耻度爆表的排序,那天跟朋友开玩笑,能不能用线程休眠操纵排序,朋友楞了一下,说还真有...我傻了,突然想想好像真有,就是这个睡眠排序. 最后长叹一口气,设计者脑洞真大... ...

  2. Java三种多线程实现睡眠排序

    原文链接:https://5hx.ink/?p=168 1.继承Thread类,重写run( )方法 2.实现Runnable接口,重写run( )方法 3.实现Callable接口,重写call( ...

  3. Java多线程排序--睡眠排序

    Java多线程排序–睡眠排序 import java.util.concurrent.Callable; import java.util.concurrent.FutureTask; public ...

  4. java多线程并发排序-睡眠排序大法

    java多线程并发编程之创新排序法-睡眠排序大法,多线程并发排序使得排序效率更高 public class sleepSort {public static void main(String[] ar ...

  5. Java排序 - 不实用的几个排序算法 -- 睡眠排序、猴子排序、面条排序、珠排序...

    介绍几个不实用的排序算法,一来可以在学习时增加一些乐趣,放松一下自己,二来可以学习一下.思考一下这些算法失败在哪里,又是否存在一些好的地方? 睡眠排序 这是一个思想比较简单,脑洞巨大的算法 -- 我们 ...

  6. 排序算法--睡眠排序

    我们学数据结构的时候会学到多种排序算法,基本上都是基于比较的排序,下面的这个排序算法并不是基于比较,确切的说它是基于cpu调度算法实现的,这个算法的作者称之为--睡眠排序. 它的基本思想是,对一组数据 ...

  7. Scala - 睡眠排序应用与分析

    一.引言 刷短视频看到有博主提到了睡眠排序这种排序方式,听了之后感觉很有意思,原文使用 java 进行编码,这里使用 scala 重新写一遍,顺带复习一下线程使用和线程安全相关的知识. 二.睡眠排序 ...

  8. C语言最简单的sleep sort睡眠排序实现(附完整源码)

    C语言最简单的sleep sort睡眠排序实现 C语言最简单的sleep sort睡眠排序实现完整源码(定义,实现,main函数测试) C语言最简单的sleep sort睡眠排序实现完整源码(定义,实 ...

  9. 算法练习5---快速排序Java版

    基本思想:通过一趟排序将要排序的数据分割成独立的两部分,其中一部分的所有数据都比另外一部分的所有数据都要小,然后再按此方法对这两部分数据分别进行快速排序,整个排序过程可以递归进行,以此达到整个数据变成 ...

  10. # 睡眠3秒_【for fun】睡眠排序算法

    点击上方蓝字关注我,我们一起学编程有任何疑问或者想看的内容,欢迎私信 前天我们一起看了猴子排序,今天我们再来看一个奇葩的排序方法:睡眠排序. 所谓睡眠排序,就是为待排序数组的每一个元素 x 启动一个线 ...

最新文章

  1. 后端码农谈前端(CSS篇)第三课:选择器
  2. python学费多少-Python开发学费一般多少钱
  3. 关于“习惯”的精彩分析
  4. 802.11ac/ax (wifi6)中的Beamforming技术介绍
  5. 【混淆矩阵】matlab画混淆矩阵
  6. 自然场景下的文字检测:从多方向迈向任意形状
  7. 阿里云centos镜像地址以及个发行版本说明
  8. python文件实时同步_pyinotify模块实时文件同步
  9. 安全狗服云PC端V2.5.1发布 助力服务器安全运维
  10. 解决VMware Workstation下面Windows Server 2012R2无法安装Hyper-V
  11. aspx转为html5,保存ASPX 生成的html代码
  12. 如何把iso文件刻录在U盘上
  13. 计算机毕业设计 SSM+Vue音乐播放网站系统 云音乐播放系统 付费音乐播放系统Java Vue MySQL数据库 远程调试 代码讲解
  14. 使用F021_API_F2837xD_FPU32.lib 库函数遇到的问题 warning #10068-D: no matching section
  15. 高三数学辅导:不等式、推理与证明
  16. 双线macd指标参数最佳设置_MACD指标参数设置成多少最好和使用技巧?
  17. linux段错误core dumped,Linux下Segmentation fault(core dumped)简单调试方法
  18. 漫谈程序员系列:你的幸运女神呢
  19. ps4系统软件升级无法连接服务器,这才是正确的解决办法 PS4怎么通过优盘升级系统...
  20. 媒体文件查看/上传至WP媒体库

热门文章

  1. 使用chrome保存完整网页为长图片
  2. 使用xlsx.js完成Excel批量数据导入
  3. 科技生活,舒适优雅,21款奔驰GLE350e改ACC、电吸门、通风座椅
  4. signature=bddf85094ce6d2ceeec3a379a26274b4,Energy Cascades in Granular Gases
  5. iOS 使用自定义字体
  6. 【Linux】一种局域网内通信方法
  7. epoll触发事件的分析
  8. 伦茨科技带你了解蓝牙室内定位
  9. 解决:adobe界面模糊且pdf文件模糊
  10. matlab导入大数据时内存不足,MATLAB从Excel导入大量数据计算的时候出现错误