Hướng dẫn và mô phỏng thuật toán sắp xếp Bubble sort

  • Code Vui
  • 03/09/2020
  • Lượt xem: 2,614

Bubble Sort là một trong những thuật toán Internal Sorting. Hiện nay các bạn lập trình đều được hỗ trợ nhiều thư viện. Việc sắp xếp một mảng cũng không có gì quá khó. Chúng ta có thể sử dụng các hàm có sẵn ví dụ như OrderBy thư viện LinQ, hoặc hàm Sort trong class Array

Tuy vậy các bạn mới học cũng nên tìm hiểu các thuật toán sắp xếp để có những bài học đầu tiên làm quen với ngôn ngữ lập trình.

Với Bubble Sort là một trong những thuật toán cơ bản, phương pháp này duyệt nhiều lần giữa các phần tử thứ ii + 1đổi chỗ cho nhau nếu chúng không đúng thứ tự.

for (var i = 0; i < array.length - 1; i++)
{
    for (var j = i + 1; j < array.length; j++)
    {
        var a1 = array[i]; 
        var a2 = array[j];

        if (a1 > a2)
        {
            array[j] = a1;
            array[i] = a2;
        }
    }
}
Sau đây là mô phỏng của thuật toán
Tạo dãy số ngẫu nhiên để mô phỏng sắp xếp
Tạo dãy số
Mã nguồn thực hiện trên javascript
var BubbleSort = function ()
{
    $.extend(this, new SortX());

    this.onCreateScripts = function (array, scripts)
    {
        for (var i = 0; i < array.length - 1; i++)
        {
            for (var j = i + 1; j < array.length; j++)
            {
                var a1 = array[i]; var a2 = array[j];
                scripts.push(this.createScript0(a1, a2)); // Script lấy ra 2 số cần so sánh
                scripts.push(this.createScript1(a1, a2)); // Script để thực hiện so sánh giữa 2 số

                if (a1.number > a2.number)
                {
                    array[j] = a1;
                    array[i] = a2;
                    scripts.push(this.createScript2(a1, a2)); // Script thực hiện hoán đổi giữa 2 số với nhau.
                }
            }
        }
    }
}

var pageSortX = new PageSortX();
pageSortX.sortX = new BubbleSort();
pageSortX.start();

Sơn20

Nếu bạn thấy nội dung chia sẻ này có ích với bạn hãy Donate để tạo động lực cho tôi viết các bài viết tiếp theo nhé. Cảm ơn nhiều !!!!

Bài viết liên quan

Hướng dẫn và mô phỏng thuật toán sắp xếp Insertion Sort

Thuật toán dựa trên ý tưởng xếp bài khi lần lượt di chuyển phần tử về bên trái

06/10/2020 Xem chi tiết
Hướng dẫn và mô phỏng thuật toán sắp xếp Quick Sort

Thực hiện phân chia mảng thành 2 mảng nhỏ và sắp xếp so với một phần tử chốt.

04/10/2020 Xem chi tiết

Bài viết cùng chuyên mục

Code javascript mô phỏng 50 xe của một xí nghiệp taxi chạy online trên bản đồ

Mô phỏng hiển thị xe chạy theo thời gian thực, sử dụng thư viện bản đồ leafletjs.

15/11/2020 Xem chi tiết
Code mô phỏng lộ trình của xe taxi chạy trên bản đồ

Dùng thư viện leafletjs để thay cho google map api mô phỏng lộ trình xe chạy.

04/11/2020 Xem chi tiết
Mô phỏng cách tính nhanh từ năm dương lịch sang năm âm lịch

Tính nhanh năm âm lịch từ năm 1900 tới nay gồm 2 bước nhẩm tính Can, Chi. Tôi 1983 nhẩm nhanh là Quý Hợi

25/10/2020 Xem chi tiết
Hướng dẫn và mô phỏng thuật toán sắp xếp Selection Sort

Sắp xếp chọn là một thuật toán sắp xếp đơn giản, dựa trên việc so sánh tại chỗ.

17/10/2020 Xem chi tiết
Mô phỏng tính nhẩm nhanh một số nhân với 99

Cách tính nhanh nhân một số có 2 chữ số với 99

03/10/2020 Xem chi tiết
Mô phỏng phép tính nhân 2 số bé hơn và gần bằng 100

Phương pháp tính nhẩm siêu nhanh với 2 số bé hơn và gần bằng 100.

18/09/2020 Xem chi tiết
{"nalias":"huong-dan-va-mo-phong-thuat-toan-sap-xep-bubble-sort","lang":"2","cattype":"0","catId":"9","UrlEngine":"UrlNewsEngine","site":"1"}