氣泡排序演算法的運作如下:(從後往前)
比較相鄰的元素。如果第乙個比第二個大,就交換他們兩個。
對每一對相鄰元素作同樣的工作,從開始第一對到結尾的最後一對。在這一點,最後的元素應該會是最大的數。
針對所有的元素重複以上的步驟,除了最後乙個。
持續每次對越來越少的元素重複上面的步驟,直到沒有任何一對數字需要比較
示例:
氣泡排序的原理是這樣的,比方說有五個數字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...