Javascript - Thuật toán merge sort

Viết chương trình sắp xếp dùng thuât toán merge sort

Nhập mảng : [34,7,23,32,5,62]
Kết quả : [5, 7, 23, 32, 34, 62]

Ví dụ:

JavaScript: Marge sort - recursion

Mã nguồn:

<!DOCTYPE html>
<html>
<head>
  <meta charset="utf-8">
  <title>Merge sort - recursion</title>
 <script>
Array.prototype.merge_Sort = function () {
  if (this.length <= 1) 
  {
    return this;
  }

  var half = parseInt(this.length / 2);
  var left = this.slice(0, half).merge_Sort();
  var right = this.slice(half,     this.length).merge_Sort();
  var merge = function (left, right) 
  {
  var arry = [];
  while (left.length > 0 && right.length > 0)
  {
    arry.push((left[0] <= right[0]) ? left.shift() : right.shift());
  }
    return arry.concat(left).concat(right);
  };

  return merge(left, right);
};

var a = [34,7,23,32,5,62];
document.write(a.merge_Sort());
 </script>
</head>
<body>

</body>
</html>

Xem ví dụ

Lưu đồ thuật toán:

Flowchart: JavaScript recursion function- Marge sort - recursion



Chatbot Tư vấn Lộ trình CNTT 🤖
Chào bạn! Tôi có thể tư vấn về các lộ trình học CNTT dựa trên roadmap.w3typing.com. Hãy chọn một từ khóa dưới đây hoặc gõ câu hỏi của bạn (ví dụ: "Frontend", "Backend", "Python", "DevOps").