Advertisement
Guest User

Untitled

a guest
Jun 28th, 2017
51
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.58 KB | None | 0 0
  1. function merge (left, right) {
  2. const result = [];
  3. let il = 0;
  4. let ir = 0;
  5.  
  6. while (il < left.length && ir < right.length){
  7. if (left[il] < right[ir])
  8. result.push(left[il++]);
  9. else
  10. result.push(right[ir++]);
  11. }
  12.  
  13. return result.concat(left.slice(il)).concat(right.slice(ir));
  14. }
  15.  
  16. function mergeSort (items) {
  17. if (items.length < 2)
  18. return items;
  19.  
  20. const middle = Math.floor(items.length / 2);
  21. const left = items.slice(0, middle);
  22. const right = items.slice(middle);
  23.  
  24. return merge(mergeSort(left), mergeSort(right));
  25. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement