排序之冒泡排序

冒泡排序的思想:比較相鄰的兩個元素的大小,如果前者比后者大,就交換這兩個元素。

假設(shè)有n個元素的話,就要比較n-1趟,第一趟比較得到最大的元素,將該元素放在數(shù)組下標(biāo)為【n-1】的位置上,第二趟比較則就不用和最后一個元素比較了,比第一趟能少比較一次,將第二大的元素放在下標(biāo)為【n-2】的位置上,以此類推。

假設(shè)有如下數(shù)組arr[]:

第一趟排序:

判斷第i個元素和第i+1個元素的大小,如果arr[i]>arr[i+1],則交換這兩個元素,判斷一次i++一次;直到i=size-1;

第二趟到第n-1趟與之類似;代碼實(shí)現(xiàn)如下:

未優(yōu)化:


優(yōu)化1:如果其中幾趟沒有交換元素則可以減少判斷

優(yōu)化2:如果一個數(shù)組后面很多元素已經(jīng)有序,只是前面元素?zé)o序,則可以只排序前面無序的元素


最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容