冒泡排序是一種通過(guò)不斷比較相鄰元素并交換位置來(lái)對(duì)數(shù)組進(jìn)行排序的算法。它的用法包括:聲明一個(gè)函數(shù) bubblesort(arr);外層循環(huán) (i) 表示排序次數(shù);內(nèi)層循環(huán) (j) 遍歷未排序部分;比較和交換:如果當(dāng)前元素大于右側(cè)元素,則交換位置;重復(fù)步驟,直到所有元素都被排序。
JS 冒泡排序的用法
冒泡排序是一種簡(jiǎn)單的排序算法,它通過(guò)不斷比較相鄰元素并交換它們的位置來(lái)對(duì)數(shù)組進(jìn)行排序。
用法:
function bubbleSort(arr) {
for (let i = 0; i arr[j + 1]) {
let temp = arr[j];
arr[j] = arr[j + 1];
arr[j + 1] = temp;
}
}
}
}
登錄后復(fù)制
步驟:
外層循環(huán) (i):它表示排序的次數(shù)。
內(nèi)層循環(huán) (j):它遍歷數(shù)組中未排序的部分。
比較和交換:如果當(dāng)前元素大于其右側(cè)的元素,則交換它們的位置。
重復(fù)步驟:重復(fù)外層循環(huán),直到所有元素都被排序。
時(shí)間復(fù)雜度:
冒泡排序的時(shí)間復(fù)雜度為 O(n^2),其中 n 是數(shù)組的長(zhǎng)度。這是因?yàn)樗枰獙?duì)數(shù)組進(jìn)行平方比較和交換。
示例:
let arr = [5, 3, 1, 2, 4]; bubbleSort(arr); console.log(arr); // [1, 2, 3, 4, 5]
登錄后復(fù)制
注意事項(xiàng):
冒泡排序在幾乎所有情況下都不是最有效率的排序算法。
它更適合小數(shù)據(jù)集或教育目的。
對(duì)于大數(shù)據(jù)集,可以使用更快的排序算法,例如歸并排序或快速排序。






