Algorithms - Quicksort
Quicksort algorithm
by Kashif Imran
HTML
<div id="output"></div>
CSS
div{margin:10px}
JavaScript
var sort = function() {
var quickSort = function(arr) {
var left = [];
var right = [];
if (!$.isArray(arr)) {
return "input is not an array";
}
if (arr.length <= 1) return arr;
var pivot = arr[0];
arr.shift();
for (var i = 0; i < arr.length; i++) {
arr[i] <= pivot ? left.push(arr[i]) : right.push(arr[i]);
}
return $.merge($.merge(quickSort(left), $.makeArray(pivot)), quickSort(right));
};
return {
quickSort: quickSort
};
}();
var output = $("#output");
var arr = [55, 64, 41.5, 41.2, 43, 32, 41];
for (var i = 0;i < 10000; i++) {
arr.push(Math.random() * 10000);
}
$.each(arr, function(idx, item) {
output.append(item + ", ");
});
var result = sort.quickSort(arr);
output.append("<br/><br/>Result:" + "<br/>");
$.each(result, function(idx, item) {
output.append(item + ", ");
});