一般的,我們知道快排是優於冒泡排序的,下面就讓我們用多線程驗證一下,具體操作:先產生一個隨機整數n(大於10),再產生n個隨機正數存放於數組中,然後創建兩個線程並發地對鎖生成的隨機整數進行排序,其中一個線程采用冒泡排序,另一個線程采用快速排序,最後比較這兩個線程哪個先完成排序
閒話少說哈,上代碼:
結果分析:
(1)當隨機數個數取值為10、100時,一般情況下,若冒泡排序的進程先調用,冒泡排序先完成,否則快速排序先完成(線程執行start()函數時並不能說明線程開始執行,只是加入了就緒隊列,執不執行由cpu決定,所以這兩個線程的調用還是存在微小的時間差,估計此時快排和冒泡時間差也很小)
(2)當隨機數取值為1000、10000時,一般情況下,無論哪個進程先調用,都是快排優先
(3)當隨機數取值大於等於100000時,可以看到快排結束很久了冒泡排序才執行完
綜合來說,快排是遠遠優於冒泡排序的