Skip to content

Commit 6d5091d

Browse files
wadleonimit95
authored andcommitted
Created MergeSort.js (#124)
1 parent 793ed26 commit 6d5091d

File tree

1 file changed

+36
-0
lines changed

1 file changed

+36
-0
lines changed

Sorting/MergeSort.js

+36
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,36 @@
1+
var a = [149, 520, 50, 76, 270, 684, 128, 584, 290];
2+
3+
function merge(left, right)
4+
{
5+
var result = [];
6+
7+
while (left.length && right.length) {
8+
if (left[0] <= right[0]) {
9+
result.push(left.shift());
10+
} else {
11+
result.push(right.shift());
12+
}
13+
}
14+
15+
while (left.length)
16+
result.push(left.shift());
17+
18+
while (right.length)
19+
result.push(right.shift());
20+
21+
return result;
22+
}
23+
24+
function mergeSort(arr)
25+
{
26+
if (arr.length < 2)
27+
return arr;
28+
29+
var middle = parseInt(arr.length / 2);
30+
var left = arr.slice(0, middle);
31+
var right = arr.slice(middle, arr.length);
32+
33+
return merge(mergeSort(left), mergeSort(right));
34+
}
35+
36+
console.log(mergeSort(a));

0 commit comments

Comments
 (0)