// 冒泡排序
var nums = [2, 4, 6, 3, 1, 9];
for (var i = 0; i < nums.length; i++) {
for (var j = 0; j < nums.length; j++) {
if (nums[j] > nums[j + 1]) {
var temp = nums[j];
nums[j] = nums[j + 1];
nums[j + 1] = temp;
}
}
}
console.log(nums)
//快速排序
var arr2 = [1, 7, 10, 3, 5, 6, 9];
function quickFn(arr2) {
// 边界值
if (arr2.length <= 1) {
return arr2;
}
var midLen = Math.floor(arr2.length / 2);
var midVal = arr2.splice(midLen, 1)[0];
var leftArr = [], rightArr = [];
for (var i = 0; i < arr2.length; i++) {
if (arr2[i] < midVal) {
leftArr.push(arr2[i]);
} else {
rightArr.push(arr2[i]);
}
}
// 自身调用自己
return quickFn(leftArr).concat(midVal, quickFn(rightArr));
}
console.log(quickFn(arr2));
网友评论