冒泡排序在面試中遇到的概率也是很大的。 什麼是冒泡排序呢? 其原理就是依次比較相鄰的兩個值,如果後面的比前面的小,則將小的排到前面。依照這個規則進行多次並且遞減的迭代,直到順序正確。 請看下麵引用網上的動態圖可以更直觀的瞭解冒泡排序的一個工作原理: 請看下麵的代碼是如何實現的冒泡排序: 解析:使用兩 ...
冒泡排序在面試中遇到的概率也是很大的。
什麼是冒泡排序呢?
其原理就是依次比較相鄰的兩個值,如果後面的比前面的小,則將小的排到前面。依照這個規則進行多次並且遞減的迭代,直到順序正確。
請看下麵引用網上的動態圖可以更直觀的瞭解冒泡排序的一個工作原理:
請看下麵的代碼是如何實現的冒泡排序:
var examplearr = [2, 3, 1, 5, 4]; function sortarr(arr) { for (i = 0; i < arr.length - 1; i++) { for (j = 0; j < arr.length - 1 - i; j++) { if (arr[j] > arr[j + 1]) { var temp = arr[j]; arr[j] = arr[j + 1]; arr[j + 1] = temp; } } } return arr; } sortarr(examplearr); console.log(examplearr); //列印結果:(5) [1, 2, 3, 4, 5]
解析:使用兩個for迴圈。
1.比較相鄰的兩個元素,如果前一個比後一個大,則交換位置。
2.第一輪的時候最後一個元素應該是最大的一個。
3.每次將剩下數組裡面最大的一個數排到最後面,當第一個迴圈執行到最後的時候,,只需要比較數組的第一和第二項,比較完畢,返回。
附上JS十大經典演算法排序總結對比圖。
其他方法會陸續整理出來,待續。