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

423

Bài viết được sự cho phép của tác giả Phạm Công Sơn

Sắp xếp chèn (insertion sort) là một thuật toán sắp xếp bắt chước cách sắp xếp quân bài của những người chơi bài. Muốn sắp một bộ bài theo trật tự người chơi bài rút lần lượt từ quân thứ 2, so với các quân đứng trước nó để chèn vào vị trí thích hợp.

  Thuật toán Heap Sort
  Sắp xếp (sort) string Tiếng Việt
Sau đây là mô phỏng thuật toán Insertion Sort
Tạo dãy số ngẫu nhiên để mô phỏng sắp xếp
Tạo dãy số
  • 20
  • 25
  • 54
  • 95
  • 66
  • 10
  • 90
  • 30
  • 67
  • 65
  • ?
  • ?
  • ?
Mã nguồn được thực hiện trên javascript
var InsertionSort = function ()
{
$.extend(this, new SortX());

this.onCreateScripts = function (array, scripts)
{
var $this = this;

var addScript = function (a1, a2, action)
{
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ố
return action();
}

var j, last;
for (var i = 1; i < array.length; i++) { last = array[i]; j = i; while ((j > 0) && addScript(array[j - 1], last, () => array[j - 1].number > last.number))
{
var a1 = array[j - 1];
array[j] = a1;

scripts.push($this.createScript2(a1, last));

j = j - 1;
}

array[j] = last;
}
}
}

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

Sơn 20

Bài viết gốc được đăng tải tại sonpc20.com

Có thể bạn quan tâm:

Xem thêm Việc làm Developer hấp dẫn trên TopDev