function quick_sort(arr){
_quick_sort(arr, 0, arr.length -1);
}
function _quick_sort(arr, start, end){
if(start < end){
var middle = _quick(arr, start, end);
_quick_sort(arr, start, middle -1);
_quick_sort(arr, middle + 1, end);
}
}
function _quick(arr, start, end){
var tmp = arr[start];
var i = start,j = end;
console.log([start, end]);
while( i < j ){
if(arr[i] <= tmp){
i++;
}
if(arr[j] >= tmp){
j--;
}
if(i < j){
swap(arr, i, j);
}
}
if(i != start){
swap(arr, j, start);
}
console.log(arr);
return j;
}
function swap(arr, i, j){
var tmp = arr[i];
arr[i] = arr[j];
arr[j] = tmp;
}
var arr = [22, 31, 1, 9, 99, 68, 55, 30];
quick_sort(arr);
console.log(arr);