程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> C++ >> C++入門知識 >> 用多線程判斷快速排序和冒泡排序的速度

用多線程判斷快速排序和冒泡排序的速度

編輯:C++入門知識

用多線程判斷快速排序和冒泡排序的速度


一般的,我們知道快排是優於冒泡排序的,下面就讓我們用多線程驗證一下,具體操作:先產生一個隨機整數n(大於10),再產生n個隨機正數存放於數組中,然後創建兩個線程並發地對鎖生成的隨機整數進行排序,其中一個線程采用冒泡排序,另一個線程采用快速排序,最後比較這兩個線程哪個先完成排序

閒話少說哈,上代碼:

\

\

\


結果分析:

(1)當隨機數個數取值為10、100時,一般情況下,若冒泡排序的進程先調用,冒泡排序先完成,否則快速排序先完成(線程執行start()函數時並不能說明線程開始執行,只是加入了就緒隊列,執不執行由cpu決定,所以這兩個線程的調用還是存在微小的時間差,估計此時快排和冒泡時間差也很小)

(2)當隨機數取值為1000、10000時,一般情況下,無論哪個進程先調用,都是快排優先

(3)當隨機數取值大於等於100000時,可以看到快排結束很久了冒泡排序才執行完

綜合來說,快排是遠遠優於冒泡排序的

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved