冒泡排序(Bubble Sort)也是一种简单直观的排序算法。
算法步骤:
比较相邻的元素。如果第一个比第二个大,就交换他们两个。
对每一对相邻元素作同样的工作,从开始第一对到结尾的最后一对。这步做完后,最后的元素会是最大的数。
针对所有的元素重复以上的步骤,除了最后一个。
持续每次对越来越少的元素重复上面的步骤,直到没有任何一对数字需要比较。
<script>
// 冒泡算法:比较相邻的元素。如果第一个比第二个大,就交换他们两个的位置。
let a = [2,4,5,3,15,46,36,47,48,50]
console.log('原数组'+a)
console.log(a);
function bSort(a){
// 定义临时变量
var temp = null;
// 外层for循环,遍历 数组中的 每一项内容 '趟数'
for(var i=0;i<=a.length-1;i++){
console.log(a[i]);
// 内层for循环
for(var j=0;j<=a.length-1-i;j++){
console.log('内层for遍历的内容是:'+a[j]);
// 两两比较大小
// 前一项 j
// 后一项 j+1
// 20>4
if(a[j] > a[j+1]){
// 把后一项内容存放到临时变量temp里面
temp = a[j+1];
// 把前一项的内容放到后一项里面去
a[j+1] = a[j];
// 把临时变量temp的内容放到前一项里面去
a[j] = temp;
}
}
}
return a;
}
bSort(a)
</script>
预览效果