快速排序
function quickSort (array) {
if (array.length <= 1) return array
let m = array[0]
let l = []
let r = []
for (let i = 1; i < array.length; i++) {
if (array[i] < m) {
l.push(array[i])
} else {
r.push(array[i])
}
}
return [...quickSort(l), m, ...quickSort(r)]
}
冒泡排序
function bubbleSort (array) {
if (array.length <= 1) return array
for (let i = 0; i < array.length; i++) {
for (let j = 0; j < array.length; j++) {
if (array[j] > array[j + 1]) {
let temp = array[j + 1]
array[j + 1] = array[j]
array[j] = temp
}
}
}
return array
}
选择排序
function choiceSort (array) {
if (array.length <= 1) return array
for (let i = 0; i < array.length; i++) {
let minIndex = i
for (let j = i + 1; j < array.length; j++) {
if (array[j] < array[minIndex]) {
minIndex = j
}
}
let temp = array[i]
array[i] = array[minIndex]
array[minIndex] = temp
}
return array
}