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ụ:
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>
Lưu đồ thuật toán: