码迷,mamicode.com
首页 > 编程语言 > 详细

用多线程判断快速排序和冒泡排序的速度

时间:2014-11-09 18:09:19      阅读:195      评论:0      收藏:0      [点我收藏+]

标签:多线程   快速排序   冒泡排序   并发   

     一般的,我们知道快排是优于冒泡排序的,下面就让我们用多线程验证一下,具体操作:先产生一个随机整数n(大于10),再产生n个随机正数存放于数组中,然后创建两个线程并发地对锁生成的随机整数进行排序,其中一个线程采用冒泡排序,另一个线程采用快速排序,最后比较这两个线程哪个先完成排序

      闲话少说哈,上代码:

bubuko.com,布布扣

bubuko.com,布布扣

bubuko.com,布布扣

bubuko.com,布布扣

   结果分析:

1)当随机数个数取值为10、100时,一般情况下,若冒泡排序的进程先调用,冒泡排序先完成,否则快速排序先完成(线程执行start()函数时并不能说明线程开始执行,只是加入了就绪队列,执不执行由cpu决定,所以这两个线程的调用还是存在微小的时间差,估计此时快排和冒泡时间差也很小)

(2)当随机数取值为1000、10000时,一般情况下,无论哪个进程先调用,都是快排优先

(3)当随机数取值大于等于100000时,可以看到快排结束很久了冒泡排序才执行完

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

用多线程判断快速排序和冒泡排序的速度

标签:多线程   快速排序   冒泡排序   并发   

原文地址:http://blog.csdn.net/charmingcui/article/details/40950593

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!