CD's blog CD's blog
首页
  • HTMLCSS
  • JavaScript
  • Vue
  • TypeScript
  • React
  • Node
  • Webpack
  • Git
  • Nestjs
  • 小程序
  • 浏览器网络
  • 学习笔记

    • 《TypeScript 从零实现 axios》
    • Webpack笔记
  • JS/TS教程

    • 《现代JavaScript》教程
🔧工具方法
  • 网站
  • 资源
  • Vue资源
  • 分类
  • 标签
  • 归档
GitHub (opens new window)

CD_wOw

内卷的行情,到不了的梦
首页
  • HTMLCSS
  • JavaScript
  • Vue
  • TypeScript
  • React
  • Node
  • Webpack
  • Git
  • Nestjs
  • 小程序
  • 浏览器网络
  • 学习笔记

    • 《TypeScript 从零实现 axios》
    • Webpack笔记
  • JS/TS教程

    • 《现代JavaScript》教程
🔧工具方法
  • 网站
  • 资源
  • Vue资源
  • 分类
  • 标签
  • 归档
GitHub (opens new window)
  • Leetcode算法题集
  • Leecode Easy算法
  • 每日一题
  • 排序算法
  • 算法
CD
2020-07-10

排序算法

  1. 冒泡排序

    冒泡排序只会操作相邻的两个数据,每次冒泡操作都会将相邻的两个元素进行比较,一次冒泡会让至少一个元素移动到它应该在的位置,重复 n 次,就完成了 n 个数据的排序工作。 image

function bubbleSort(arr) {
  for (let i = 1; i < arr.length; i++) {
    for (let j = i; j > 0; j--) {
      if (arr[j] < arr[j - 1]) {
        [arr[j - 1], arr[j]] = [arr[j], arr[j - 1]];
      }
    }
  }
  console.log(arr);
}
1
2
3
4
5
6
7
8
9
10
  1. 快速排序
function quickSort(arr) {
  if (arr.length <= 1) return arr;
  let right = [],
    left = [],
    keys = arr.shift();
  for (let value of arr) {
    if (value > keys) {
      right.push(value);
    } else {
      left.push(value);
    }
  }
  return quickSort(left).concat(keys, quickSort(right));
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
编辑 (opens new window)
#算法#JavaScript
上次更新: 2021/08/22, 01:09:59
每日一题

← 每日一题

最近更新
01
gsap动画库学习笔记 - 持续~
06-05
02
远程组件加载方案笔记
05-03
03
小程序使用笔记
03-29
更多文章>
Theme by Vdoing | Copyright © 2020-2023 CD | MIT License
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式