所謂氣泡排序就是兩兩相比較,然後將大的值放在後面。
整體的思路就是:如何交換兩個變數和要理清總共要比較多少次。
1.如何交換兩個變數?
var a = 10;
var b=22;
var tmp =a;
a = b;
b= tmp;12
3452.如何將陣列中最大的值放到最後?
這種情況只要迴圈遍歷陣列,然後兩兩比較,大的放後面即可,此種情況只需要遍歷一次
var arr = [9,8,7,6,5];
for(var i=0;iarr[i+1])}1
2345
6783.氣泡排序則是在上乙個的基礎上,重複進行遍歷陣列的操作,將大的數值往後排
//一般基礎的寫法
var arr = [9,8,7,6,5];
// 比較的次數是陣列長度-1,因為最後一遍不需要比較
for(var j =0;jarr[i+1])}}
1234
5678
9101112
13但其實在除了第一次的比較之後的數值比較中,不需要每個再重複進行比較了:第一遍比較4次,第二遍比較3次,第三遍比較2次,第四遍比較1次,所以可以將**優化成以下的寫法:
var arr = [9,8,7,6,5];
// 比較的次數是陣列長度-1
for(var j =0;jarr[i+1])}}
————————————————
氣泡排序實現陣列中的公升序排序
遍歷一次陣列,實現查詢到陣列中的最大值 var arr 1,5,9,69,14,34,2,56,3,5,87,1 vartmp for var i 1 i 以上 是找出了陣列中的最大值並且將該值放到arr.length 1的位置 分析 第1輪比較,要比較11次,迴圈條件為第2次比較,要比較10次,迴...
氣泡排序的實現
氣泡排序,重複地走訪過要排序的數列,一次比較兩個元素,如果他們的順序錯誤就把他們交換過來。走訪數列的工作是重複地進行直到沒有再需要交換,也就是說該數列已經排序完成。氣泡排序演算法的運作如下 從後往前 比較相鄰的元素。如果第乙個比第二個大,就交換他們兩個。對每一對相鄰元素作同樣的工作,從開始第一對到結...
氣泡排序 在Python中的實現
1 比較相鄰的元素。如果第乙個比第二個大 小 就交換他們兩個。2 對每一對相鄰元素作同樣的工作,從開始第一對到結尾的最後一對。這步做完後,最後的元素會是最大 小 的數。3 針對所有的元素重複以上的步驟,除了最後已經選出的元素 有序 4 持續每次對越來越少的元素 無序元素 重複上面的步驟,直到沒有任何...