千鋒教育web前端高頻面試題視頻教程,kerwin大話(huà)前端面試秘籍(附答案)

冒泡排序(Bubble Sort)是一種簡(jiǎn)單的排序算法,它重復(fù)地遍歷要排序的列表,比較相鄰兩個(gè)元素,并按照升序或降序交換它們的位置,直到?jīng)]有需要交換的元素為止。
function bubbleSort(arr) {
var len = arr.length;
for (var i = 0; i < len - 1; i++) {
for (var j = 0; j < len - 1 - i; j++) {
// 比較相鄰的兩個(gè)元素
if (arr[j] > arr[j + 1]) {
// 交換位置
var temp = arr[j];
arr[j] = arr[j + 1];
arr[j + 1] = temp;
}
}
}
return arr;
}
// 示例數(shù)據(jù)
var array = [5, 3, 8, 4, 2];
console.log("排序前:", array);
console.log("排序后:", bubbleSort(array));
在上述代碼中,我們定義了一個(gè)名為bubbleSort
的函數(shù),它接受一個(gè)數(shù)組作為參數(shù)。函數(shù)使用兩個(gè)嵌套的循環(huán)迭代數(shù)組,外層循環(huán)控制排序的輪數(shù),內(nèi)層循環(huán)用于比較相鄰的兩個(gè)元素并執(zhí)行交換操作。如果前一個(gè)元素比后一個(gè)元素大,則交換它們的位置。通過(guò)這種方式,每一輪冒泡排序都會(huì)將未排序部分中的最大(或最?。┲狄苿?dòng)到已排序部分的末尾。
冒泡排序是一種簡(jiǎn)單且易于理解的排序算法,但對(duì)于大型數(shù)組來(lái)說(shuō)效率較低。在實(shí)際應(yīng)用中,更常使用更高效的排序算法,如快速排序或歸并排序。