快速排序

快速排序原理
以某个基数为准进行排序
将小于基数的数放到左边
将大于基数的数放到右边
//定义快速排序函数
function quickSort(array){
	function sort(prev, numsize){
		var nonius = prev; //开始下标
		var j = numsize - 1; //排序长度的最后一个下标
		var flag = array[prev]; //标示基数
		//如果是拍序的基数是最后一个数了,就没有必要在排序
		if (numsize - prev > 1) {
			//从前往后查找
			for(; nonius < j; j--){
				if (array[j] < flag) {
					array[nonius++] = array[j];
					break;
				};
			}
			//从后往前查找
			for( ; nonius < j; nonius++){
				if (array[nonius] > flag){
					array[j--] = array[nonius];
					break;
				}
			}
			array[nonius] = flag;
			//继续排序
			sort(nonius + 1, numsize);
		}
	}
	//以第一个元素做基数排序
	sort(0, array.length);
	return array;
}
var num = quickSort([3,1,2,4,5,67,8,0]);
//0, 1, 2, 3, 4, 5, 8, 67