冒泡演算法詳解及與插入演算法區別

2021-07-26 23:40:29 字數 662 閱讀 9003

氣泡排序:從字面上理解,就好像水裡的氣泡,大的慢慢冒出來,小的沉下去。而氣泡排序的核心思想就是通過迴圈陣列,將陣列邏輯上分為已排序和未排序陣列,然後遍歷迴圈未排序陣列,將未排序陣列中最大或者最小的加入到已排序陣列中,直至未排序陣列為空。最後得到乙個有序陣列。

下面看一組陣列演示:int a=(從大到小排序)

因為陣列迴圈遍歷,每次比較出合適的數,所以最後剩餘的肯定是在合適位置的數,所以外層迴圈n-1次。

第一次迴圈遍歷:未排序陣列 已排序陣列 {} 開始迴圈未遍歷陣列 進行a[j]與a[j+1]比較,若a[j]第二次迴圈遍歷:未排序陣列 已排序陣列  開始迴圈未遍歷陣列 進行a[j]與a[j+1]比較,若a[j]第三次迴圈遍歷:未排序陣列 已排序陣列  開始迴圈未遍歷陣列 進行a[j]與a[j+1]比較,若a[j]以此類推,最後未排序陣列完全消失,得到乙個完整的已排序陣列

下面附核心**:

public static void bubblesort(int a)}}

}

演算法時間複雜度o(n*2)

看到這裡,肯定會想,插入排序和氣泡排序好像都是乙個個的插入的啊,是不是沒區別,其實區別大了。氣泡排序是每次從未排序陣列中迴圈遍歷出最大或者最小加入到已排序陣列中,而插入排序是直接插入乙個數到已排序陣列中去進行再次排序,直至未排序陣列為空

冒泡與選擇演算法區別

1.冒泡 冒泡就是 1 2 3 4 5 6 7 8 9 2 1 3 4 5 6 7 8 9 2 3 1 4 5 6 7 8 9 2 3 4 1 5 6 7 8 9 2 3 4 5 1 6 7 8 9 2 3 4 5 6 7 8 9 1 這是第一次迴圈 如此迴圈9次 就變成 9 8 7 6 5 4 3...

氣泡排序演算法詳解及優化

排序原理 比較兩個相鄰的元素,將值大的元素交換至右端,小的元素向上冒泡,這也是冒泡演算法名稱的由來。排序流程如下 1 對陣列中的各資料,依次比較相鄰的兩個元素大小,即第0和第1個比較,第1個和第2個比較.第n 2個和和第n 1個比較,每次比較中如 果前面的大於後面的就交換,這樣第一輪即n次比較後,最...

插入演算法演算法詳解及實現 c語言

插入排序原理很簡單,將一組資料分成兩組,分別將其稱為有序組與待插入組。每次從待插入組中取出乙個元素,與有序組的元素進行比較,並找到合適的位置,將該元素插到有序組當中。就這樣,每次插入乙個元素,有序組增加,待插入組減少。直到待插入組元素個數為0。實現 include include include 插...