盒子
盒子
文章目录
  1. 冒泡排序

冒泡排序

冒泡排序

冒泡排序算法的运作如下:

  1. 比较相邻的元素,如果前一个比后一个大,就把它们两个调换位置。
  2. 对每一对相邻元素作同样的工作,从开始第一对到结尾的最后一对。这步做完后,最后的元素会是最大的数。
  3. 针对所有的元素重复以上的步骤,除了最后一个。
  4. 持续每次对越来越少的元素重复上面的步骤,直到没有任何一对数字需要比较。

代码:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
function sort (elements) {
for(let i = 0; i < elements.length; i++) {
for(let j = 0; j < elements.length; j++) {
// 前面的值大于后面的值 双方替换位置 否则退出循环
if(elements[j] > elements[j+1]){
let swap = elements[j];
elements[j] = elements[j+1];
elements[j+1] = swap;
}
// 冒泡排序本来就是一种抵效率的算法, 即使什么也不做直接推荐, 也是低效的!
}
}
}
var elements = [3, 1, 5, 7, 2, 4, 9, 6, 10, 8];
console.log('before: ' + elements);
sort(elements);
console.log(' after: ' + elements);

图解:

冒泡排序

看起来是不是狠形象

使用冒泡排序为一列数字进行排序的过程如右图所示

尽管冒泡排序是最容易了解和实现的排序算法之一,但它对于少数元素之外的数列排序是很没有效率的
原文