冒泡排序、插入排序、快速排序JS代码
let a = [5, 4, 3, 16, 2, 6, 8, 9, 1]; // 冒泡排序:从第一个开始遍历,和后面的数字进行比较,大的数放到后面。 const bubbleSort = arr => { let len = arr.length; for (let i = 0; i < len; i++) { for (let j = i + 1; j < len; j++) { if (arr[i] > arr[j]) { [arr[i], arr[j]] = [arr[j], arr[i]]; } } } return arr; }; // 插入排序:将当前遍历到的数据和前面的数据进行对比,并插入到对应的位置。注意一直都能保持前面的数据都是有序的 const insertSort = arr => { let len = arr.length; for (let i = 1; i < len; i++) { let j = i; let temp = arr[i]; // 临时存放需要比较的值 while (j > 0) { if (arr[j - 1] > temp) { // 值大于需要比较的值,则把该值往后挪一位,给temp腾位置 arr[j] = arr[j - 1]; } else { break; } j--; } arr[j] = temp; } return arr; }; // 快速排序思路:使用递归思路 // 小的放左边 + 中间值(选择的第一个元素) + 大的放右边 --- 一直递推,直到结束 const quickSort = arr => { const rec = trr => { if (trr.length < 2) { return trr; } let mid = trr[0]; let leftArr = []; let rightArr = []; for (let i = 1; i < trr.length; i++) { // 下表从从第一个开始 if (trr[i] < mid) { // 小的放左边 leftArr.push(trr[i]); } else { rightArr.push(trr[i]); } } return [...rec(leftArr), mid, ...rec(rightArr)]; }; return rec(arr); };
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 如何调用 DeepSeek 的自然语言处理 API 接口并集成到在线客服系统
· 【译】Visual Studio 中新的强大生产力特性
· 2025年我用 Compose 写了一个 Todo App