JS經典演算法之氣泡排序演算法

2021-07-23 13:52:34 字數 706 閱讀 8558

氣泡排序演算法的運作如下:(從後往前)

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

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

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

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

示例:

氣泡排序的原理是這樣的,比方說有五個數字54321,要按從小到大排列;

首先比較前兩個,就是5和4,如果第乙個小於第二個,不做操作,如果第乙個大於第二個,那麼交換二者的位置,即變成 45321,然後比較第二個和第三個,交換位置,變成43521,然後第三個和第四個,第四個和第五個,這樣一次迴圈下來,變成43215

所以,一層迴圈的效果就是挑出最大的乙個數字5,冒泡到最後面。但是還要挑出第二大,第三大的數字,等等。所以一層迴圈根本就不夠用,必須再套一層才行。像這個例子,五個數字,起碼要進行四輪迴圈才行。至於為什麼要this.length-i,是因為第一次比較五個數字,第二個只要比較前四個就行了,第五個肯定是最大的了。。

var array = [5, 4, 3, 2, 1];

var temp = 0;

for (var i = 0; i < array.length; i++)}}

console.log(array);

經典演算法之氣泡排序

author s email wardseptember gmail.com date 2017.12.4 氣泡排序 氣泡排序是通過一系列的 交換 動作完成的。首先第乙個關鍵字和第二個關鍵字比較,如果第乙個大,則二者交換,否則不交換 然後第二個關鍵字和第三個關鍵字比較,如果第二個大,則二者交換,否則...

經典演算法之氣泡排序

1 演算法思想 取第i元素和第i 1個元素做比較,假如第i 1個元素大於第i個元素,則交換兩個元素。一直到待排序的集合是有序的為止。假設待排序的元素集合 5 4 3 1 第一次冒泡後的序列 4 3 1 5 第二次冒泡的序列 3 1 4 5 第三次冒泡後的序列 1 3 4 5 n元素序列一共需要比較n...

經典排序演算法之氣泡排序

好記性不如爛筆頭。氣泡排序屬於交換排序,交換排序的基本思想是 兩兩比較待排序記錄的關鍵字,當兩個記錄的次序相反時即進行交換,直到沒有反序的記錄為止。include using namespace std void printpro int input,int len void swap int fi...