因為過一陣要面試 大廠都比較注重演算法題 所以今天練習乙個簡單的冒泡演算法
冒泡演算法的基本原理為:
1.比較相鄰的兩個數 如果第乙個數比第二個數大 那麼就交換位置
2.那麼每次比較一輪之後 最大的數將會到最右側
3.所以綜上方法對於長度為n的陣列需要比較n-1次之後才能使陣列排序完畢(為什麼是n-1 因為最後就剩1個 他沒的比了 他就是最小的)
4.那麼每批次比的時候因為之前已經把最大的挑出來放到左邊已經固定 所以每批次比就少1次 如果比了n批就少n次
由此我們可以寫出**
function maopao (arr)}
return arr
}
Js氣泡排序詳解
氣泡排序是一種簡單的排序演算法。它重複地走訪過要排序的數列,一次比較兩個元素,如果它們的順序錯誤就把它們交換過來。走訪數列的工作是重複地進行直到沒有再 需要交換,也就是說該數列已經排序完成。兩兩相比較,比較相鄰的元素。如果第乙個比第二個大,就交換它們兩個 對每一對相鄰元素作同樣的工作,從開始第一對到...
js氣泡排序詳解
原理 依次比較相鄰的兩個值,如果後面的比前面的小,則將小的元素排到前面。依照這個規則進行多次並且遞減的迭代,直到順序正確。寫法 詳解 兩個迴圈,第乙個迴圈是迴圈遍歷陣列,i表示陣列下標,第二個迴圈則是判斷陣列元素下標為i和下標為i 1的元素的大小。如果下標為i的元素大於洗標為i 1的元素,則將下標為...
js氣泡排序詳解
js中的氣泡排序,就是把相鄰的兩個資料進行比較,如果順序相反就交換位置,直到所有的資料按照公升序 從小到大 或降序 從大到小 的方式進行排列 例 var arr 5,4,3,2,1 用氣泡排序把這個陣列公升序排列,也就是把陣列變為 1,2,3,4,5 第一輪 arr 5,4,3,2,1 1 比較5和...