/codegym.vn/ - 159
6. Các lỗi thường gặp
Lỗi thường gặp #1: Duyệt không đúng danh sách
Trong các thuật toán sắp xếp, chúng ta làm việc nhiều với các danh sách/mảng và
vòng lặp, do đó rất dễ mắc phải các lỗi liên quan đến chỉ số bắt đầu và kết thúc của
danh sách. Hãy rất chú ý đến những nơi mà chúng ta có sử dụng các phần tử đầu
(chẳng hạn như list[0] hoặc list[1], và những phần tử cuối (chẳng hạn như
list[list.lenght] hoặc list[list.length – 1].
Lỗi thường gặp #2: Sử dụng nhầm chỉ số
Trong các thuật toán sắp xếp thì thường có nhiều vòng lặp lồng nhau, do đó sẽ có
các biến khác nhau để đại diện cho các chỉ số. Thông thường chúng ta sẽ dùng các
biến i, j, k… để đại diện cho các chỉ số lần lượt từ vòng lặp ngoài cùng cho đến bên
trong.
Hãy rất chú ý đến những nơi có truy xuất đến các phần tử ở trong vòng lặp lồng nhau,
chẳng hạn như list[i], list[j], list[k]…
8. Bài thực hành
Bài 1: Triển khai thuật toán sắp xếp nổi bọt
Mục tiêu:
Luyện tập triển khai thuật toán sắp xếp nổi bọt.
Mô tả:
Hãy viết một hàm triển khai thuật toán sắp xếp nổi bọt. Hàm này có mô tả như sau:
function bubbleSort(arr, asc);
Trong đó:
● arr là một mảng bất kỳ
● asc là trật tự mà chúng ta muốn sắp xếp, nếu asc có giá trị true thì sắp xếp
theo trật tự tăng dần, còn nếu asc có giá trị false thì sắp xếp theo trật tự giảm
dần.
Hướng dẫn:
● Hãy tham khảo thuật toán và mã nguồn trong Mục 3 – Thuật toán sắp xếp nổi
bọt để viết một hàm triển khai thuật toán sắp xếp nổi bọt
● Hãy thử nghiệm với một mảng số nguyên theo trật tự giảm dần
● Hãy thử nghiệm với một mảng chuỗi theo trật tự tăng dần
Link mã nguồn tham khảo:
https://github.com/codegym-vn/introduction-to-programming-with-
javascript/blob/main/chapter-08/exercise-01-sap-xep-noi-bot.html