快速排序

快速排序

经典快速排序总是指定数组或者某部分的最后一个元素作为基准值,随机快速排序指定数组或者某一部分中的随机值作为基准值。

function quick(arr){
	if(arr.length == 0) return [];
	var left = []
	var right = []
	var base = arr[0] // 基准
	for (var i = 1;i < arr.length; i++ ){
		if (arr[i] < base){
      left.push(arr[i])
		} else {
      right.push(arr[i])
		}
    }
    // 左右两侧再次递归调用 quick
	return quick(left).concat(base, quick(right))
}
var arr = [2,5,8,4,7,0]
console.log(quick(arr))
// (6) [0, 2, 4, 5, 7, 8]

 

上一篇:elasticsearch中分析器的原理和使用


下一篇:ES基础(二十) 单字符串多字段查询:Dis Max Query