A simple program that I wrote using JavaScript as my programming language that demonstrate Merge Sort algorithm.
If you have some questions please send me an email at jake.r.pomperada@gmail.com and jakerpomperada@yahoo.com.
My mobile number here in the Philippines is 09173084360.
Program Listing
If you have some questions please send me an email at jake.r.pomperada@gmail.com and jakerpomperada@yahoo.com.
My mobile number here in the Philippines is 09173084360.
Sample Program Output
Program Listing
<html>
<head>
<title> Merge Sort </title>
</head>
<body>
<script>
var values=[];
var a=0,b=0;
document.write("<font face='arial' size='4'>MERGE SORT </font>");
document.write("<br><br>");
for (a=0; a<10; a++) {
values.push(Number(prompt("Enter item value at no. " + (a+1))));
}
document.write("<font face='arial' size='4'>Numbers");
document.write(" given by the user </font>");
document.write("<br><br>");
for (a=0;a<10; a++) {
document.write("<font face='arial' size='4'> " +values[a] + "");
}
function merge(left, right, arr) {
var a = 0;
while (left.length && right.length) {
arr[a++] = (right[0] < left[0]) ? right.shift() : left.shift();
}
while (left.length) {
arr[a++] = left.shift();
}
while (right.length) {
arr[a++] = right.shift();
}
}
function mSort(arr, tmp, len) {
if (len === 1) {
return;
}
var m = Math.floor(len / 2),
tmp_l = tmp.slice(0, m),
tmp_r = tmp.slice(m);
mSort(tmp_l, arr.slice(0, m), m);
mSort(tmp_r, arr.slice(m), len - m);
merge(tmp_l, tmp_r, arr);
}
function merge_sort(arr) {
mSort(arr, arr.slice(), arr.length);
}
merge_sort(values);
document.write("<br><br>");
document.write("<font face='arial' size='4'>Sorted List of Numbers </font>");
document.write("<br><br>");
for (a=0; a<10; a++) {
document.write("<font face='arial' size='4'> " + values[a]+"</font>");
}
</script>
</body>
</html>
No comments:
Post a Comment