Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- const merge = (leftArr, rightArr, OG) => {
- const leftSize = leftArr.length;
- const rightSize = rightArr.length;
- const ogSize = OG.length;
- let lefty = 0;
- let righty = 0;
- let oggy = 0;
- while(lefty < leftSize && righty < rightSize) {
- if(leftArr[lefty] < rightArr[righty]) {
- OG[oggy] = leftArr[lefty];
- lefty++;
- } else {
- OG[oggy] = rightArr[righty];
- righty++;
- }
- oggy++;
- }
- while(lefty < leftSize) {
- OG[oggy] = leftArr[lefty];
- lefty++;
- oggy++;
- }
- while(righty < rightSize) {
- OG[oggy] = rightArr[righty];
- righty++;
- oggy++;
- }
- return OG;
- }
- const mergeSort = (arr) => {
- const size = arr.length;
- if(arr.length <= 1){
- return arr;
- }
- const midPoint = Math.round(size/2) - 1;
- const leftPart = arr.slice(0,midPoint+1);
- const rightPart = arr.slice(midPoint+1);
- mergeSort(leftPart);
- mergeSort(rightPart);
- merge(leftPart, rightPart, arr);
- return arr;
- }
Add Comment
Please, Sign In to add comment