• 博客园logo
  • 会员
  • 众包
  • 新闻
  • 博问
  • 闪存
  • 赞助商
  • HarmonyOS
  • Chat2DB
    • 搜索
      所有博客
    • 搜索
      当前博客
  • 写随笔 我的博客 短消息 简洁模式
    用户头像
    我的博客 我的园子 账号设置 会员中心 简洁模式 ... 退出登录
    注册 登录

cynchanpin

  • 博客园
  • 联系
  • 订阅
  • 管理

View Post

用多线程推断高速排序和冒泡排序的速度

     一般的,我们知道快排是优于冒泡排序的,以下就让我们用多线程验证一下,详细操作:先产生一个随机整数n(大于10),再产生n个随机正数存放于数组中。然后创建两个线程并发地对锁生成的随机整数进行排序,当中一个线程採用冒泡排序,还有一个线程採用高速排序,最后比較这两个线程哪个先完毕排序

      闲话少说哈,上代码:





   结果分析:

(1)当随机数个数取值为10、100时。普通情况下。若冒泡排序的进程先调用,冒泡排序先完毕。否则高速排序先完毕(线程运行start()函数时并不能说明线程開始运行,仅仅是增加了就绪队列,执不运行由cpu决定。所以这两个线程的调用还是存在微小的时间差,预计此时快排和冒泡时间差也非常小)

(2)当随机数取值为1000、10000时,普通情况下,不管哪个进程先调用,都是快排优先

(3)当随机数取值大于等于100000时,能够看到快排结束非常久了冒泡排序才运行完

综合来说,快排是远远优于冒泡排序的

posted on 2017-05-27 17:52  cynchanpin  阅读(879)  评论(0)    收藏  举报

刷新页面返回顶部
 
博客园  ©  2004-2025
浙公网安备 33010602011771号 浙ICP备2021040463号-3