以整數(shù)升序排序為例來簡單說明一下雙向冒泡排序的過程:首先從前往后把最大數(shù)移到最后,然后反過來從后往前把最小的一個數(shù)移動到數(shù)組最前面,這一過程就是第一輪,然后重復(fù)這一過程,最終就會把整個數(shù)組從小到大排列好。雙向冒泡排序要稍微優(yōu)于傳統(tǒng)的冒泡排序,因為雙向排序時數(shù)組的兩頭都排序好了,我們只需要處理數(shù)組的中間部分即可,而單向即傳統(tǒng)的冒泡排序只有尾部的元素是排好序的,這時每輪處理都需要從頭一直處理到已經(jīng)排好序元素的前面一個元素。雖然它在效率上有了點改進(jìn),但它也不能大幅度提高其排序的效率,這是由冒泡排序的基本過程所決定了的。在此基礎(chǔ)上改進(jìn)了一下,下面的代碼可以實現(xiàn)對奇數(shù)偶數(shù)分別排序
雙向冒泡排序源代碼:
運行結(jié)果:
|
新聞熱點
疑難解答
圖片精選