Guest User

Untitled

a guest
Dec 12th, 2017
96
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.74 KB | None | 0 0
  1. //Algorithm of mergeSort which divides the array and conquers
  2. function mergeSort(array) {
  3. if(array.length<2){
  4. return array;
  5. }
  6. var middleIndex=Math.floor(array.length/2);
  7. var firstHalf=array.slice(0,middleIndex);
  8. var secondHalf=array.slice(middleIndex);
  9. return merge(mergeSort(firstHalf),mergeSort(secondHalf));
  10. }
  11.  
  12. //Algorithm to merge arrays
  13. function merge(array1, array2) {
  14.  
  15. var result = [];
  16. while (array1.length && array2.length) {
  17. minElem = 0;
  18. if (array1[0] < array2[0]) {
  19. minElem = array1.shift();
  20. } else {
  21. minElem = array2.shift();
  22. }
  23. result.push(minElem);
  24. }
  25. if (array1.length) result = result.concat(array1);
  26. else result = result.concat(array2);
  27. return result;
  28. }
  29.  
  30. mergeSort([1, 3, 2, 8, 4]);
Add Comment
Please, Sign In to add comment