Viết hàm JavaScript nhận vào mảng các giá trị nguyên thủy và sắp xếp bằng thuật toán Bubble Sort. Trong Bubble Sort, mỗi cặp phần tử liền kề được so sánh và hoán đổi nếu không theo thứ tự.
Ví dụ
Mã thực hiện:
const arr = [4, 56, 4, 23, 8, 4, 23, 2, 7, 8, 8, 45];
const swap = (items, firstIndex, secondIndex) => {
var temp = items[firstIndex];
items[firstIndex] = items[secondIndex];
items[secondIndex] = temp;
};
const bubbleSort = items => {
var len = items.length,
i, j;
for (i=len-1; i >= 0; i--){
for (j=len-i; j >= 0; j--){
if (items[j] < items[j-1]){
swap(items, j, j-1);
}
}
}
return items;
};
console.log(bubbleSort(arr));
Kết quả
Kết quả in ra console:
[ 2, 4, 4, 4, 7, 8, 8, 8, 23, 23, 45, 56 ]