工作原理
重复遍历序列,比较相邻的两个元素,如果这两个元素顺序不正确,则交换。重复以上步骤直到排序完成。
js代码实现 + 效率测试
运算10次,平均耗时1018 ms
// 创建 20000 个随机数,数值范围:1 - 100000let ary = [];for (let i = 0; i < 20000; i++) {ary.push( Math.floor( Math.random()*99999 + 1 ) );}// 冒泡排序console.time( '冒泡排序' );let len = ary.length;while (len > 0) {for (let i = 0; i < len; i++) {if (ary[i] > ary[i+1]) {let temp = ary[i];ary[i] = ary[i+1];ary[i+1] = temp;}}len--;}console.timeEnd( '冒泡排序' );
