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ứ i
và i + 1
và đổ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
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