merge sort js example

// Merge Sort Implentation (Recursive)

function mergeSort (unsortedArray) {
  if (unsortedArray.length <= 1) {
    return unsortedArray;
  }
  
  const middle = Math.floor(unsortedArray.length / 2);

  const left = unsortedArray.slice(0, middle);
  const right = unsortedArray.slice(middle);

  // Using recursion to combine the left and right
  return merge(
    mergeSort(left),
    mergeSort(right)
  );
}

function merge (left, right) {
  let resultArray = [], leftIndex = 0, rightIndex = 0;

  while (leftIndex < left.length && rightIndex < right.length) {
    if (left[leftIndex] < right[rightIndex]) {
      resultArray.push(left[leftIndex]);
      leftIndex++;
    } else {
      resultArray.push(right[rightIndex]);
	  rightIndex++;
    }
  }

  return resultArray
          .concat(left.slice(leftIndex))
          .concat(right.slice(rightIndex));
}

4.5
6

                                    // Merge Sort (Recursive)
function mergeSort (unsortedArray) {
  // No need to sort the array if the array only has one element or empty
  if (unsortedArray.length &lt;= 1) {
    return unsortedArray;
  }
  // In order to divide the array in half, we need to figure out the middle
  const middle = Math.floor(unsortedArray.length / 2);

  // This is where we will be dividing the array into left and right
  const left = unsortedArray.slice(0, middle);
  const right = unsortedArray.slice(middle);

  // Using recursion to combine the left and right
  return merge(
    mergeSort(left), mergeSort(right)
  );
}

4.5 (6 Votes)
0
4.3
10
AndyLL 115 points

                                    const merge = (left, right) =&gt; {
  const resArr = [];
  let leftIdx = 0;
  let rightIdx = 0;

  while (leftIdx &lt; left.length &amp;&amp; rightIdx &lt; right.length) {
    left[leftIdx] &lt; right[rightIdx]
      ? resArr.push(left[leftIdx++])
      : resArr.push(right[rightIdx++]);
  }
  return [...resArr, ...left.slice(leftIdx), ...right.slice(rightIdx)];
};

const mergeSort = arr =&gt;
  arr.length &lt;= 1
    ? arr
    : merge(
        mergeSort(arr.slice(0, Math.floor(arr.length / 2))),
        mergeSort(arr.slice(Math.floor(arr.length / 2)))
      );

4.3 (10 Votes)
0
4.63
8

                                    function mergeSort(array, compare = (a, b) =&gt; a &lt; b) {
  if (array.length &lt; 2) { return array; }

  const middleIndex = Math.floor(array.length / 2);
  const head = mergeSort(array.slice(0, middleIndex), compare);
  const tail = mergeSort(array.slice(middleIndex), compare);

  const orderedArray = [];
  let tailIndex = 0;
  for (const element of head) {
    while(tailIndex &lt; tail.length &amp;&amp; compare(tail[tailIndex], element)) {
      orderedArray.push(tail[tailIndex++]);
    }
    orderedArray.push(element)
  }
  if (tailIndex &lt; tail.length) {
    orderedArray.push(...tail.slice(tailIndex));
  }
  
  return orderedArray;
}

4.63 (8 Votes)
0
Are there any code examples left?
Create a Free Account
Unlock the power of data and AI by diving into Python, ChatGPT, SQL, Power BI, and beyond.
Sign up
Develop soft skills on BrainApps
Complete the IQ Test
Relative searches
merge sort js example merge sort in place javascript merge sort algorithm javascript code concat sort javascript in place merge sort javascript array merge javascript sort merge sort in javvascripit merge array sort node js merge and sort two unsorted arrays how to implement merge sort javascript merge sort algorithm js merge arrays by order js merged sort javascript example merge sorted array javascript making merge sort javascript learn merge sort javascript mergesort implementation js mergesort javasciirpt merge sort in js easy Implement Merge Sort using javascript merge sort implementation javascript merge sort javascript implementation javascript merge sort algorithm merge sorted arrays js javascript merge sor marge sort javascript merge sort js' merge sort algorithm js javascript merge sorted ararys merge sort node js merge sort j merge sort enormous array javascript merge sort function javascript merge sort solution javascript fastest merge sort js mergesort javascript mergesort in javascript concat sort js merge sorts javascript merge sort with javascript merge array sorted javascript merge sort code in javascript 3 way merge sort javascript merge sort an array js merge sort algorithm javascript merge sort code js javascript merge sort sorting Merge Sort in js merge sort injs merge sort javascipt merge sort javascript with counter javascript merge sorted arrays merge sort java script js shorthand array merge javascript array sort using merge sort how to sort an array of strings using merge sort javascript mergesort javascript merge sort javascript explanation javascript mergesort mergesort algotirhm javascript merge sort javascriptg merge sort an array javascript merge-sort javascript merge sort javascript code Array.sort js merge sort Array.sortjs mergesort mergesort in js merge sort algorithm example in javascript implement merge sort javascript merge sort in javascript pure javascript merge sort algorithm plain code javascript merge sort algorithm merge sort explained javascript js mergesort merge sort javascirpt mergesort js quick sort javascript merge sorting javascript merge sorted arrays javascript Merge sort jvascipt merge-sort js merge sort program in javascript merge sort methods js merge sort algorithm in js combineSort in javascript js merge mergesort in jsvs js merge sort function marge sort js merge sort recursive javascript merge sort array javascript merge short javascript merge sorting in javascript javascript merge sort array numbers split, merge, mergeSort javascript merge sort logic in js merge sort in js js merge sort merge sort js javascript merge sort merge javascript ,erge sort js implement a merge sort algorithm JS merge sort javasript making a merge sort javascript javascript mergesort] combine sort javascript merge sort js tutorial merge sort problem javascript javascript sample of merge sort js sort array of numbers merge sort javscript merge sor merge algorithm javascript merge sort code javascript node js merge sort pmergew saoprt js array sorting javascript mergesort merge sort javascript
Made with love
This website uses cookies to make IQCode work for you. By using this site, you agree to our cookie policy

Welcome Back!

Sign up to unlock all of IQCode features:
  • Test your skills and track progress
  • Engage in comprehensive interactive courses
  • Commit to daily skill-enhancing challenges
  • Solve practical, real-world issues
  • Share your insights and learnings
Create an account
Sign in
Recover lost password
Or log in with

Create a Free Account

Sign up to unlock all of IQCode features:
  • Test your skills and track progress
  • Engage in comprehensive interactive courses
  • Commit to daily skill-enhancing challenges
  • Solve practical, real-world issues
  • Share your insights and learnings
Create an account
Sign up
Or sign up with
By signing up, you agree to the Terms and Conditions and Privacy Policy. You also agree to receive product-related marketing emails from IQCode, which you can unsubscribe from at any time.
Creating a new code example
Code snippet title
Source