冒泡排序是因为使用这种排序算法排序时,数组会像气泡一样从数组的一端漂浮到数组的另一端。假设正在将一组数字按照升序排列,较大的值会漂浮到数组的右侧,较小的值会漂到左侧。
下面我们进行一个简单的冒泡排序的例子。我们从下面的列表开始:
E A D B H
经过第一排序后
A E D B H
经过第二次
A D E B H
接着 A D B E H 最后 A B D E H
var arrs=[14,3,1,5]
var temp;
for(var i=0;i<arrs.length-1;i++){
for(var j=0;j<arrs.length-1-i;j++){
if(arrs[j]>arrs[j+1]){
temp=arrs[j+1];
arrs[j+1]=arrs[j];
arrs[j]=temp;
}
}
}
alert(arrs)
如以上的代码;我们就像吹泡泡一样,把较大的数字浮到右端,
首先我们让14和3比较,14比3大我们就交换位置,这样就成了【3,14,1,5】
接下来我们往后比较14比1大接着交换位置,最后我们比较14和5那么内层的j循环我们比较完毕,我们外层的第一次循环也比较完毕此时数组为【3,1,5,14】我们得出了最大的数,此时我们接着比较得到第二大的数,最后可以得到我们最终的排序好的数组