氣泡排序演算法
1.分析問題:
將前n個數字分別進行比較,最大的移動到了最後;
下一次,將前n-1個數字分別進行比較,最大的移動到了倒數第二位;
依此類推。
2.設計演算法:
1)第一次排序:索引0至len(陣列)-1左右元素進行比較,最大的數排在最後
2)第二次排序:索引0至len(陣列)-2左右元素進行比較,最大的2個數從小到大排在最後
...3)第n次排序: 索引0至len(陣列)-n左右元素進行比較,最大的n個數從小到大排在最後
3.編寫程式:
func
main()
//len(arr)=4
//外層迴圈控制比較完一輪,減去不需要比較的下標
//內層迴圈相鄰的數比較交換
for n :=
1; n <
len(arr)-1
; n++}}
}
4.除錯程式
[-4 -2 1 3]
演算法基礎 golang版本 氣泡排序
氣泡排序 bubble sort 也是一種簡單直觀的排序演算法。它重複地走訪過要排序的數列,一次比較兩個元素,如果他們的順序錯誤就把他們交換過來。走訪數列的工作是重複地進行直到沒有再需要交換,也就是說該數列已經排序完成。這個演算法的名字由來是因為越小的元素會經由交換慢慢 浮 到數列的頂端。一。演算法...
氣泡排序演算法 C 氣泡排序演算法排序詳解
氣泡排序是最簡單的排序方法,理解起來容易。雖然它的計算步驟比較多,不是最快的,但它是最基本的,初學者一定要掌握。c 氣泡排序演算法的例項源 一些排序方法的 集錦,該函式模板使用冒泡法對集合元素進行排序,引數說明 collection 集合物件,集合物件必須提供 操作。element 集合元素,該引數...
演算法 排序演算法之氣泡排序
排序演算法系列目錄說明 排序演算法簡介說明 1.定義 將一組雜亂無章的資料按一定的規律順次排列起來。例如 輸入 a1,a2,a3,an 輸出 a1 a2 a3 an 滿足a1 a2 a3 an 排列 2.演算法效能評估術語言 穩定 如果a原本在b前面,而a b時,排序之後a仍然在b的前面。不穩定 如...