发布于 

冒泡排序

冒泡排序:的实现思路是比较任何两个相邻的项, 如果前者比后者大, 则将它们互换位置.

​ 生成指定个数的随机数组

1
2
3
4
5
6
7
8
9
   const generateArr = (num = 10) => {
let arr = []
for(let i = 0; i< num; i++) {
let item = Math.floor(Math.random() * (num + 1))
arr.push(item)
}
return arr
}

冒泡排序:

1
2
3
4
5
6
7
8
9
10
11
12
bubbleSort(arr = []) {
let lkz = arr.length
for(let i = 0; i< lkz; i++) {
for(let j = 0; j < lkz - 1; j++) {
if(arr[j] > arr[j+1]) {
[arr[j], arr[j+1]] = [arr[j+1], arr[j]]
}
}
}
return arr
}

const arr = generateArr(60)

冒泡排序优化:

1
2
3
4
5
6
7
8
9
10
11
12
13
bubbleSort(arr = []) {
let lkz = arr.length
// 优化
for(let i = 0; i< lkz; i++) {
for(let j = 0; j < lkz - 1 - i; j++) {
if(arr[j] > arr[j+1]) {
// 置换
[arr[j], arr[j+1]] = [arr[j+1], arr[j]]
}
}
}
return arr
}

本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议,转载请注明出处。