冒泡排序时什么,是一种最基本的交换。之所以叫做冒泡排序,因为每一个元素都可以像小气泡一样,根据自身大小一点一点向数组的一侧移动。好比比身高,要按照从左到右依次从最低到最高排列。冒泡排序原理,两个两个相比看看谁个子高排右边,每次比完一轮除去那一轮最高个子的人。直到比完!
假如有一组数,16,25,9,90,23 5个数
0第一轮:16 9 25 23 90 比了 4次=5-1-0
1第二轮:9 16 23 25 比了3次=5-1-1
2第三轮:9 16 23 比了 2次=5-1-2
3第四轮:9 16 比了 1次=5-1-3
从左到右依次两个相比第一轮:第一次,16比25,小不用换位置,第二次,25比9大25需要和9交换位置,第三次,25和90比较,比90小不用换位置,第四次,90和23比较,90大于23那么90需要和23交换位置。
这是比完了第一轮但是还有几个数字没有按照从小到大排序,所以需要再次排序。
但是现在已经找到最大的值90,所以第二次就不需要在将90在比较了。
第二轮:第一次16比9大,所以16需要和9交换位置,第二次,16和23进行比较发现16没有23大所以不需要交换位置,第三次,23和25比较,23比25小所以不用交换位置。
依此类推,直到最后从小到大排序。
现在来看一下这个代码
var array=[16,25,9,90,23];
//外层控制轮数
for (var i =0; i <array.length-1; i++) {
//内层控制比较的次数
for(var j=0;j<array.length-1-i;j++){
//两两相比
if(array[j]>array[j+1]){
var temp=array[j];
array[j]=array[j+1];
array[j+1]=temp;
}
}
}
console.log(array);
用一个加单口诀来讲: