complete-intro-to-computer-science icon indicating copy to clipboard operation
complete-intro-to-computer-science copied to clipboard

better merge func for merge sort

Open always-maap opened this issue 4 years ago • 0 comments

shifting array make it reindex the array. is n't it a better solution ?

const mergeArr = (arr1, arr2) => {
  const mergedArr = [];
  let arr1Idx = 0,
    arr2Idx = 0;
  while (arr1Idx < arr1.length && arr2Idx < arr2.length) {
    if (arr1[arr1Idx] > arr2[arr2Idx]) {
      mergedArr.push(arr2[arr2Idx]);
      arr2Idx++;
    } else {
      mergedArr.push(arr1[arr1Idx]);
      arr1Idx++;
    }
  }
  while (arr1Idx < arr1.length) {
    mergedArr.push(arr1[arr1Idx]);
    arr1Idx++;
  }
  while (arr2Idx < arr2.length) {
    mergedArr.push(arr2[arr2Idx]);
    arr2Idx++;
  }
  return mergedArr;
};

inspiration from introduction to algorithm v3

always-maap avatar Jun 18 '21 18:06 always-maap