js实现快速排序
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);