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