初學程式設計的小白來說,當學到陣列和迴圈後,我們都會接觸到排序演算法的概念。排序演算法常用的有10種,下面我就簡單的描述一下氣泡排序這種簡單容易理解的演算法。
氣泡排序屬於比較演算法,是穩定的演算法,選擇演算法是不穩定的演算法。氣泡排序是一種極其簡單的排序演算法,它重複地遍歷過要排序的陣列元素,依次比較相鄰兩個元素,如果他們的順序(從小到大或者從大到小)錯誤就把他們調換過來,直到遍歷到最後乙個元素且沒有元素再需要交換,排序完成。這個演算法操作起來,越小(或越大)的元素會經由交換慢慢「浮」到數列的頂端,像氣泡一樣按大小的氣泡乙個乙個的浮出水面。
儘管氣泡排序是最容易了解和實現的排序演算法之一,但它對於少數元素之外的數列排序是很沒有效率的。
氣泡排序的**:
氣泡排序演算法的步驟如下:
根據其原理可以將冒泡演算法分為n(n比元素總數少1)輪,每一輪又要比較n-i(i代表第幾輪)次並交換次數
每一輪比較相鄰的元素,如果前乙個比後乙個大,就把它們兩個調換位置,對每一對相鄰元素作同樣的工作,從開始第一對到結尾的最後一對。這步做完後,最後的元素會是最大的數。
每一輪結束後,下一輪開始重複執行2的操作,直至一輪沒有比較交換的為止。
public class tools
//隨機生成m個1-n之間的陣列
public static int getint(int n,int m)
return nums;
}}public class bubblesort
bubblesort(nums);
system.out.println("\n氣泡排序後:");
for (int num : nums)
}//氣泡排序
public static void bubblesort(int nums)}}
}
上述**對序列進行氣泡排序的實現過程如下:
video_2020
對於其他的演算法大家可以參考
氣泡排序簡述
氣泡排序演算法的思想 進行多重迴圈,乙個外迴圈,乙個內迴圈。外迴圈進行對陣列的次數迴圈,內排序進行相鄰數字之間的對比,相鄰兩個數字進行對比,如果前乙個數字大於後乙個數字,交換順序。具體 如下 private static void run int arr 下面對本方法進行測試 public stat...
冒泡演算法簡述
注 本文章主要是對於像我這樣剛學習冒泡演算法的人來寫的,因為網上其他關於冒泡演算法文章的專業性較強,容易看不懂,所以我就簡單講解一下,如果有錯誤的地方,歡迎指出並提出意見,感謝!簡單來說,冒泡演算法就是讓陣列內的元素進行排序的。原理 用例子來說明原理 絕對不是我懶哦 冒泡演算法 用題來舉例子 使用陣...
氣泡排序 排序 氣泡排序
既然寫了計組思來想去便打算把資料結構也寫下來,寫的時候總是發現看的時候無法發現的問題,受益良多。交換排序的基本思想 exchange until sorted 順序,分支,迴圈 注意偽 的熟悉 下面介紹兩種交換演算法 首先進行聯想,用乙個圖進行輔助聯想 水冒泡過程 頂部是陣列的begin,底部理解為...