簡明演算法 氣泡排序 javascript描述

2021-09-14 00:41:53 字數 1539 閱讀 5589

懶惰了很久,人有點生鏽,所以寫個演算法系列讓自己腦筋活躍起來。

(所有範例一律從小到大排序)

氣泡排序

給定陣列:

var list = [ 54, 26, 93, 17, 77, 31, 44, 88, 55, 20 ];
演算法描述:

將第乙個元素與第二個元素對比,此時第乙個元素比第二個元素大,交換他們,這樣較大的元素就位於第二個位置了;

list = [ 26, 54, 93, 17, 77, 31, 44, 88, 55, 20 ];

將第二個元素與第三個元素對比,此時第二個元素比第三個元素小,保持原樣不變;

list = [ 26, 54, 93, 17, 77, 31, 44, 88, 55, 20 ];

重複上面的步驟,直到最後我們用倒數第二個元素與倒數第乙個元素相比之後,經過第一輪排序,最大的元素93被移動到了陣列最後;

list = [ 26, 54, 17, 77, 31, 44, 88, 55, 20, 93 ];

然後我們重複1,2,3步驟;經過第二輪我們會找到次大的元素排在倒數第二位,即88被移動到了陣列倒數第二位;

list = [ 26, 17, 54, 31, 44, 77, 55, 20, 88, 93 ];

再次重複直到整個陣列有序;

第1輪: [ 26, 54, 17, 77, 31, 44, 88, 55, 20, 93 ]

第2輪: [ 26, 17, 54, 31, 44, 77, 55, 20, 88, 93 ]

第3輪: [ 17, 26, 31, 44, 54, 55, 20, 77, 88, 93 ]

第4輪: [ 17, 26, 31, 44, 54, 20, 55, 77, 88, 93 ]

第5輪: [ 17, 26, 31, 44, 20, 54, 55, 77, 88, 93 ]

第6輪: [ 17, 26, 31, 20, 44, 54, 55, 77, 88, 93 ]

第7輪: [ 17, 26, 20, 31, 44, 54, 55, 77, 88, 93 ]

第8輪: [ 17, 20, 26, 31, 44, 54, 55, 77, 88, 93 ]

第9輪: [ 17, 20, 26, 31, 44, 54, 55, 77, 88, 93 ]

演算法實現:

function bubble(list) }}}

// 測試

var list = [ 54, 26, 93, 17, 77, 31, 44, 88, 55, 20 ];

bubble(list);

console.log(list);

// [ 17, 20, 26, 31, 44, 54, 55, 77, 88, 93 ]

氣泡排序演算法 C 氣泡排序演算法排序詳解

氣泡排序是最簡單的排序方法,理解起來容易。雖然它的計算步驟比較多,不是最快的,但它是最基本的,初學者一定要掌握。c 氣泡排序演算法的例項源 一些排序方法的 集錦,該函式模板使用冒泡法對集合元素進行排序,引數說明 collection 集合物件,集合物件必須提供 操作。element 集合元素,該引數...

氣泡排序 氣泡排序演算法優化

常用的排序演算法主要包括 1 插入排序 直接插入排序 希爾排序 2 交換排序 氣泡排序 快速排序 3 選擇排序 簡單選擇排序 堆排序快速排序 4 歸併排序其中,氣泡排序算是最簡單的一種排序演算法 public class bubble int temp 0 for int i 0 iarr j 1 ...

排序演算法 氣泡排序

一.氣泡排序的過程 公升值排序 1.將第乙個記錄的關鍵字與第二個記錄的關鍵字進行比較,若key 1 key 2 則交換。然後比較第二個與第三個,依此類推,直到第n 1個與第n個比較為止,第一趟排序完後,記錄最大的關鍵字會被排在最後面。2.將記錄的前n 1個關鍵字進行第二趟比較交換,直到前n 1個中最...