//冒泡排序
// 思路
// 前一个跟后一个相比 交换位置
var arr = [74, 85, 95, 12, 45, 65, 98, 20, 12, 36, 96, 52];
for (var i = 1; i < arr.length; i++) {
for (var j = 0; j < arr.length - 1; j++) {
if (arr[j] > arr[j + 1]) {
var temp = arr[j];
arr[j] = arr[j + 1];
arr[j + 1] = temp;
}
}
}
console.log(arr);
// 快速排序(二分法排序)
// 思路
// 把数组分为左右两边 取出原数组中间的元素
// 比中间元素小 放进leftArr数组里
// 比中间元素大 放进rightArr数组里
// 通过数组拼接方法concat 将leftArr 中间元素 rightArr拼接在一起
var arr = [74, 85, 95, 12, 45, 65, 98, 20, 12, 36, 96, 52];
function quickSort(array) {
if (array.length <= 1) {
return array
}
var leftArr = [];
var rightArr = [];
var mIndex = parseInt(array.length / 2);
var mValue = array.splice(mIndex, 1)[0];
for (var i = 0; i < array.length; i++) {
if (mValue > array[i]) {
leftArr.push(array[i])
} else {
rightArr.push(array[i]);
}
}
return quickSort(leftArr).concat(mValue, quickSort(rightArr))
}
console.log(quickSort(arr));
数组冒泡排序 快速排序
最新推荐文章于 2024-06-20 20:20:21 发布