jscript中氣泡排序的實現原理

2021-10-04 13:42:26 字數 728 閱讀 4750

所謂氣泡排序就是兩兩相比較,然後將大的值放在後面。

整體的思路就是:如何交換兩個變數和要理清總共要比較多少次。

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 持續每次對越來越少的元素 無序元素 重複上面的步驟,直到沒有任何...