<h1>Quick sort algorithm in JavaScript</h1>
<p>Please check javascript code.</p>
/***************************************
* sort
***************************************/
var quickSort = function(list, left, right){
var start = typeof left === 'undefined' ? 0 : left,
end = typeof right === 'undefined' ? list.length -1 : right,
i = start + 1,
k = end,
w;
while(i<k){
while(list[i] < list[start] && i < end){
++i;
}
while(list[k] >= list[start] && k > start){
--k;
}
if(i<k){
w = list[i];
list[i] = list[k];
list[k] = w;
}
}
// 残りが2つまたは、すでに昇順の場合
if(end-start === 1 || list[start] > list[k]){
w = list[start];
list[start] = list[k];
list[k] = w;
}
if(start<k-1){
quickSort(list,start,k-1);
}
if(k+1<end){
quickSort(list,k+1,end);
}
return list;
};
/***************************************
* main
***************************************/
var before = [0,9,3,4,6,7,8,2,1,5];
console.log('before : ' + before);
var after = quickSort(before);
console.log('after : ' + after);
This Pen doesn't use any external CSS resources.
This Pen doesn't use any external JavaScript resources.