排序算法
冒泡排序
function bubbleSort(arr) {
for (let i = 0; i < arr.length - 1; i++) {
for (let j = 0; j < arr.length - 1 - i; j++) {
if (arr[j] > arr[j + 1]) {
let step = arr[j]
arr[j] = arr[j + 1]
arr[j + 1] = step
}
}
}
return arr
}
选择排序
function selectSort(array) {
for (let i = 0; i < array.length - 1; i++) {
let maxindex = i
for (let j = i + 1; j < array.length; j++) {
if (array[j] > array[maxindex]) {
maxindex = j
}
}
if (i != maxindex) {
let temp = array[i]
array[i] = array[maxindex]
array[maxindex] = temp
}
}
return array
}
快排,冒泡升级,使用递归
/ 快速排序 quickSort 无限二分
function quickSort(array) {
if (array.length <= 1) {
return array
}
let centerIndex = Math.round(array.length / 2)
let centerVal = array.splice(centerIndex, 1)[0]
let left = [], right = []
for (let index = 0; index < array.length; index++) {
if (array[index] > centerVal) {
right.push(array[index])
} else {
left.push(array[index])
}
}
return quickSort(left).concat(centerVal, quickSort(right))
}
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· C#/.NET/.NET Core优秀项目和框架2025年2月简报
· 什么是nginx的强缓存和协商缓存
· 一文读懂知识蒸馏
· Manus爆火,是硬核还是营销?