兩種氣泡排序的比較及冒泡演算法優化

2021-08-15 05:07:34 字數 712 閱讀 7781

第一種:

void bubblesort(int

array,int len)

}if(noswap) break;

}}

第二種:

void bubblesort(int

array,int len)

}if(noswap) break;

}}

沒有優化

void bubblesort1(int arr,int

len)

} }

}//沒有優化的方法,比較常規;

一級優化:

void bubblesort2(int arr,int

len)

} if(flag ==1)//如果這趟走完,沒有發生交換,則原陣列有序;

break;

} }//加入標誌位優化;

二級優化

void bubblesort3(int arr,int

len)

} if(flag ==1)//如果這趟走完,沒有發生交換,則原陣列有序;

break;

k = n;//最後一次交換的位置給k,減少比較的次數;

} }//最終優化

兩種氣泡排序

泡泡往前冒 for int i 1 i score.length i 例如 for int i 1 i score.length i system.out.print 第 i 次排序的結果 for int j 0 j score.length j system.out.println for int...

氣泡排序演算法的兩種優化

氣泡排序 三種實現,兩種優化 首先,我們先介紹bubblesort 就是氣泡排序,氣泡排序大家應該最熟悉不過了 氣泡排序演算法的運作如下 從後往前 1.比較相鄰的元素。如果第乙個比第二個大,就交換他們兩個。2.對每一對相鄰元素作同樣的工作,從開始第一對到結尾的最後一對。在這一點,最後的元素應該會是最...

氣泡排序及兩種優化方式

定義 每一趟依次比較相鄰的兩個數,將小數放在前面,大數放在後面,直到一趟只剩下乙個元素。時間複雜度 o n 2 氣泡排序是最常用的小型資料排序方式,下面是用c語言實現的,及其兩種優化方式。第一種優化方式是設定乙個標記位來標記是否發生了交換,如果沒有發生交換就提前結束 第二種優化方式是記錄最後發生交換...