function bubbleSort(array) {
for (let i = 0; i < array.length; i++)
for (let j = 0; j < array.length - i - 1; j++)
if (array[j] > array[j + 1]) {
[array[j], array[j + 1]] = [array[j + 1], array[j]]; // 交换数据
}
return array;
}
冒泡排序的原理:
function quickSort(array) {
if (array.length <= 1) {
return array;
} else {
let left = [], right = [], m = Math.floor(array.length / 2); // 中间值的坐标
let mid = array.splice(m, 1)[0]; // 中间值
for (let i = 0; i < array.length; i ++) {
if (array[i] < mid) {
left.push(array[i]);
} else {
right.push(array[i]);
}
}
return [quickSort(left), mid, quickSort(right)].flat();
}
}
快速排序的原理:
left
中,反之放在数组 right
中。left
和 right
。原文:https://www.cnblogs.com/zhaoziwei/p/10601798.html