Last active
September 21, 2017 05:06
-
-
Save swathiPaipalle/54c6fcec3cda40689a02ac787de26970 to your computer and use it in GitHub Desktop.
Merge Sort using Javascript// source http://jsbin.com/horevudure
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<!DOCTYPE html> | |
<html> | |
<head> | |
<meta name="description" content="Merge Sort using Javascript"> | |
<meta charset="utf-8"> | |
<meta name="viewport" content="width=device-width"> | |
<title>JS Bin</title> | |
</head> | |
<body> | |
<div> | |
<h1>Merge sort using Javascript</h1> | |
<small>Merge sort is divide and conquer Algotithm</small><br> | |
<strong>Works as follows</strong> | |
<ul> | |
<li>Divide the unsorted list in to n sublists, each containing 1 element</li> | |
<li>Repeatedly merge the sublists to produce sorted list, until only one sublist is remaining. Which is a so | |
</ul> | |
</div> | |
<script id="jsbin-javascript"> | |
function mergeSort(arr){ | |
if(arr.length < 2){ | |
return arr; | |
} | |
var mid = Math.floor(arr.length/2); | |
var left = arr.slice(0, mid); | |
var right = arr.slice(mid); | |
return merge(mergeSort(left), mergeSort(right)); | |
} | |
function merge(left, right){ | |
var array = []; | |
while(left.length && right.length){ | |
if(left[0] < right[0]){ | |
array.push(left.shift()); | |
}else{ | |
array.push(right.shift()); | |
} | |
} | |
return array.concat(left.slice(), right.slice()); | |
} | |
var arr = [2,5,1,3,6,4,8,7,9,0]; | |
console.log(mergeSort(arr)); | |
</script> | |
<script id="jsbin-source-javascript" type="text/javascript">function mergeSort(arr){ | |
if(arr.length < 2){ | |
return arr; | |
} | |
var mid = Math.floor(arr.length/2); | |
var left = arr.slice(0, mid); | |
var right = arr.slice(mid); | |
return merge(mergeSort(left), mergeSort(right)); | |
} | |
function merge(left, right){ | |
var array = []; | |
while(left.length && right.length){ | |
if(left[0] < right[0]){ | |
array.push(left.shift()); | |
}else{ | |
array.push(right.shift()); | |
} | |
} | |
return array.concat(left.slice(), right.slice()); | |
} | |
var arr = [2,5,1,3,6,4,8,7,9,0]; | |
console.log(mergeSort(arr)); | |
</script></body> | |
</html> |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
function mergeSort(arr){ | |
if(arr.length < 2){ | |
return arr; | |
} | |
var mid = Math.floor(arr.length/2); | |
var left = arr.slice(0, mid); | |
var right = arr.slice(mid); | |
return merge(mergeSort(left), mergeSort(right)); | |
} | |
function merge(left, right){ | |
var array = []; | |
while(left.length && right.length){ | |
if(left[0] < right[0]){ | |
array.push(left.shift()); | |
}else{ | |
array.push(right.shift()); | |
} | |
} | |
return array.concat(left.slice(), right.slice()); | |
} | |
var arr = [2,5,1,3,6,4,8,7,9,0]; | |
console.log(mergeSort(arr)); |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment