<script type="text/javascript">
var arr = [1, 2, 3, 54, 22, 1, 2, 3];
function quick(arr) {
if (arr.length <= 1)
return arr;
var proiindex = Math.floor(arr.length / 2);
var proift = arr.splice(proiindex, 1)[0]; //找基准,并把基准从原数组删除
var left = [];
var right = [];
for (var i = 0; i < arr.length; i++) {
if (arr[i] <= proift) {
left.push(arr[i]);
} else {
right.push(arr[i]);
}
}
return quick(left).concat([proift], quick(right));
}
document.write(quick(arr));
</script>
相关文章
- 01-31选择、冒泡、快速排序
- 01-31js判断数组key是否存在
- 01-31Go语言快速入门(1)--复合数据类型(1) - 数组、slice
- 01-31JS数组复习相关笔记
- 01-31JS中的.map()方法-取数组,.sort()方法-数据排序,.slice()方法-数据切片的使用
- 01-31Js数组 slice 用法大合集
- 01-31js数组Array对象方法
- 01-31js将类数组转换成数组的几种方式
- 01-31js上 十六、数组-2
- 01-31我用js完成了按n位数的来进行分割数组