/** * * 快速排序 * 使用分治法,从数组中选定一个基准数,剩余的数字按照相对于基准的大小分别压入两个数组中,然后再分别对数组做同样的事情,直至递归结束,合并即可。 * * 注:该方法会改变原数组,将中间位置的数删除,其他数字位置保持不变。 * * **/ const _U = require('../libs/utils'); function quickSort (arr) { if (arr.length <= 1) return arr; const flagIndex = Math.floor((arr.length-1)/2), flagValue = arr.splice(flagIndex, 1)[0]; let leftArr=[], rightArr=[]; for (let i=0; i