冒泡排序的原理:
如下貌亭,從第一個(gè)元素開始贮聂,把當(dāng)前元素和下一個(gè)索引元素進(jìn)行比較靠柑。如果當(dāng)前元素大,那么就交換位置吓懈,重復(fù)操作直到比較到最后一個(gè)元素歼冰,那么此時(shí)最后一個(gè)元素就是該數(shù)組中最大的數(shù)。下一輪重復(fù)以上操作耻警,但是此時(shí)最后一個(gè)元素已經(jīng)是最大數(shù)了隔嫡,所以不需要再比較最后一個(gè)元素,只需要比較到 length - 1 的位置甘穿。
簡(jiǎn)單來說:每次比較相鄰的兩個(gè)數(shù)腮恩,如果后一個(gè)比前一個(gè)小,換位置扒磁。
function bubble(array) {
for (let i = 0; i < array.length; i++){
for (let j = 0; j < array.length - 1 - i; j++){
if (array[j + 1] < array[j]) {
let temp = array[j + 1];
array[j + 1] = array[j];
array[j] = temp;
}
}
}
return array;
}
參考資料:值得收藏的十大經(jīng)典排序算法