快速选择排序
<script>
function quitely(arr) {
// 终止条件 如果数组长度小于等于1就不用排序
if (arr.length <= 1) {
return arr;
}
// var num = Math.floor(arr.length / 2);
//1,中间的下标
var num = parseInt(arr.length / 2);
//取得中间的值 原数组长度减1
var numvalue = arr.splice(num, 1)[0];
var left = [];//存放小于中间值得数字
var right = [];//存放大于中间值得数字
for (var i = 0; i < arr.length; i++) {
if (arr[i] < numvalue) {
left.push(arr[i]); //小于中间值 左
} else {
right.push(arr[i]); //大于中间值 右边
}
}
// 将三个数组拼为一个
return quitely(left).concat(numvalue, quitely(right));
}
var arr = [41, 324, 21421, 4124];
console.log(quitely(arr));
</script>
数组排序sort()
<script>
// sort()
var arr = [12, 1, 23, 2, 21];
arr.sort(function (a, b) {
// return a - b; //升序顺序排列
return b - a; //降序顺序排列
})
console.log(arr);
</script>