
- Javascript Basics Tutorial
- Javascript - Home
- Javascript - Overview
- Javascript - Syntax
- Javascript - Enabling
- Javascript - Placement
- Javascript - Variables
- Javascript - Operators
- Javascript - If...Else
- Javascript - Switch Case
- Javascript - While Loop
- Javascript - For Loop
- Javascript - For...in
- Javascript - Loop Control
- Javascript - Functions
- Javascript - Events
- Javascript - Cookies
- Javascript - Page Redirect
- Javascript - Dialog Boxes
- Javascript - Void Keyword
- Javascript - Page Printing
- JavaScript Objects
- Javascript - Objects
- Javascript - Number
- Javascript - Boolean
- Javascript - Strings
- Javascript - Arrays
- Javascript - Date
- Javascript - Math
- Javascript - RegExp
- Javascript - HTML DOM
- JavaScript Advanced
- Javascript - Error Handling
- Javascript - Validations
- Javascript - Animation
- Javascript - Multimedia
- Javascript - Debugging
- Javascript - Image Map
- Javascript - Browsers
- JavaScript Useful Resources
- Javascript - Questions And Answers
- Javascript - Quick Guide
- Javascript - Functions
- Javascript - Resources
Using merge sort to recursive sort an array JavaScript
We are required to write a JavaScript function that takes in an array of Numbers. The function should sort the array using the merge sort algorithm.
Merge Sort
Merge Sort is made up of two parts or processes −
- a recursive part that splits up a collection into single units,
- and then an iterative part that combines them back together in the right order.
Example
const arr = [23, 4, 67, 32, 1, 7, 56, 5, 89]; const mergeSort = arr => { if (arr.length < 2){ return arr; } const middle = Math.floor(arr.length / 2); const left = arr.slice(0, middle), right = arr.slice(middle, arr.length); return merge(mergeSort(left), mergeSort(right)); }; const merge = (left, right) => { const res = []; while (left.length && right.length) { if (left[0] <= right[0]){ res.push(left.shift()); } else{ res.push(right.shift()); }; } while (left.length){ res.push(left.shift()); }; while (right.length){ res.push(right.shift()); }; return res; }; console.log(mergeSort(arr));
Output
And the output in the console will be −
[ 1, 4, 5, 7, 23, 32, 56, 67, 89 ]
- Related Articles
- C program to sort an array by using merge sort
- Merge sort vs quick sort in Javascript
- C/C++ Program to Count Inversions in an array using Merge Sort?
- C/C++ Program to the Count Inversions in an array using Merge Sort?
- How to implement merge sort in JavaScript?
- Merge Sort
- How to perform Merge Sort using C#?
- Write a Golang program to sort an array using Bubble Sort
- Merge Sort using Multithreading in C++
- Sort an Array of string using Selection sort in C++
- Sort an array according to another array in JavaScript
- Golang Program To Sort An Array In Ascending Order Using Insertion Sort
- Golang Program to sort an array in descending order using insertion sort
- Implementing insertion sort to sort array of numbers in increasing order using JavaScript
- Difference Between Quick Sort and Merge Sort

Advertisements