We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
There was an error while loading. Please reload this page.
1 parent a9ef685 commit ca7bfefCopy full SHA for ca7bfef
mergesort.js
@@ -0,0 +1,22 @@
1
+function mergeSort (arr) {
2
+ if (arr.length < 2) return arr;
3
+ var middleIndex = Math.floor(arr.length / 2);
4
+ var firstHalf = arr.slice(0, middleIndex);
5
+ var secondHalf = arr.slice(middleIndex);
6
+
7
+ return merge(mergeSort(firstHalf), mergeSort(secondHalf));
8
+}
9
10
+function merge (array1, array2) {
11
+ var result = [];
12
+ while (array1.length && array2.length) {
13
+ var minElem;
14
+ if (array1[0] < array2[0]) minElem = array1.shift();
15
+ else minElem = array2.shift();
16
+ result.push(minElem);
17
+ }
18
19
+ if (array1.length) result = result.concat(array1);
20
+ else result =result.concat(array2);
21
+ return result;
22
0 commit comments