30分鐘掌握 氣泡排序

2021-09-25 22:00:23 字數 1096 閱讀 7662

演算法步驟:

比較相鄰的元素。如果第乙個比第二個大,就交換他們兩個。

對每一對相鄰元素作同樣的工作,從開始第一對到結尾的最後一對。這步做完後,最後的元素會是最大的數。

針對所有的元素重複以上的步驟,除了最後乙個。

持續每次對越來越少的元素重複上面的步驟,直到沒有任何一對數字需要比較。

我的理解:

氣泡排序在整個演算法中比較重要的一點是在整個演算法中,依次放棄冒出水面的值。

優點:

穩定缺點:

慢,每次只移動相鄰的兩個元素

以下是乙個氣泡排序的例子:

package com;

public class test

}number--;

jj++;

if(str.length == jj)

}}

public static void main(string args) ;

//冒泡演算法

maopaoyh2(str);

for (int i = 0; i < str.length; i++)

str = null;

}}

優化:

外層迴圈優化。

優化原理:

如果用乙個flag來判斷一下,當前陣列是否已經有序,如果有序就退出迴圈,這樣可以明顯的提高氣泡排序的效能。

以下是優化後的氣泡排序:

package com;

public class test

}if(flag)

}}

public static void main(string args) ;

//冒泡演算法優化1

maopaoyh1(str);

for (int i = 0; i < str.length; i++)

str = null;

}}

3分鐘學會氣泡排序

思路 兩個元素比較,大的放到右邊 從頭開始依次比較相鄰的兩個元素,目的是找出最大的乙個元素放到末尾,這個元素不再參與比較 第二次仍然從頭開始,把第二大的元素放到正確的位置 一共比較 len 1 趟,因為已經確定了 len 1 個元素的位置,那麼第 n 個肯定是最小的那個了 第 i 趟的比較次數為 l...

初識正則30分鐘

注意,不是 值元素符號是正則裡面最基本單元,匹配時都是匹配一次。形式字元範圍 編號在 0 255 範圍的字元,也就是ascii碼 比如 空格可以使用 x20 表示 u x 任何字元可以使用 u 再加上其編號的4位十六進製制數表示,也就是unicode碼 比如 u4e2d 通常,m和n都是自然數,且一...

10分鐘帶你看懂氣泡排序Yu選擇排序

你可以這樣理解 從小到大排序 存在10個不同大小的氣泡,由底至上地把較少的氣泡逐步地向上公升,這樣經過遍歷一次後,最小的氣泡就會被上公升到頂 下標為0 然後再從底至上地這樣公升,迴圈直至十個氣泡大小有序。在氣泡排序中,最重要的思想是兩兩比較,將兩者較少的公升上去 問題 設有一陣列,其大小為10個元素...