JavaScript: сортировка Марджа - рекурсия
Функция JavaScript: упражнение 9 с решением
Напишите программу сортировки слиянием на JavaScript.
Образец массива : [34,7,23,32,5,62]
Пример вывода : [5, 7, 23, 32, 34, 62]
Иллюстрированная презентация:
Пример решения: -
HTML-код:
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>Merge sort - recursion</title>
</head>
<body>
</body>
</html>
Код JavaScript:
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];
console.log(a.merge_Sort());
Выход:
[5,7,23,32,34,62]
Блок - схема:
Демонстрация в реальном времени:
См. Pen javascript-recursion-function- exerc -9 от w3resource ( @ w3resource ) в CodePen .
Улучшите этот пример решения и опубликуйте свой код через Disqus
Предыдущая: Написать программу JavaScript для бинарного поиска.
Далее: Javascript Условные операторы и Упражнения Loops
Каков уровень сложности этого упражнения?
Новый контент: Composer: менеджер зависимостей для PHP , R программирования
disqus2code