Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- //Algorithm of mergeSort which divides the array and conquers
- function mergeSort(array) {
- if(array.length<2){
- return array;
- }
- var middleIndex=Math.floor(array.length/2);
- var firstHalf=array.slice(0,middleIndex);
- var secondHalf=array.slice(middleIndex);
- return merge(mergeSort(firstHalf),mergeSort(secondHalf));
- }
- //Algorithm to merge arrays
- function merge(array1, array2) {
- var result = [];
- while (array1.length && array2.length) {
- minElem = 0;
- if (array1[0] < array2[0]) {
- minElem = array1.shift();
- } else {
- minElem = array2.shift();
- }
- result.push(minElem);
- }
- if (array1.length) result = result.concat(array1);
- else result = result.concat(array2);
- return result;
- }
- mergeSort([1, 3, 2, 8, 4]);
Add Comment
Please, Sign In to add comment