冒泡排序法:
第一趟示意图:
代码如下:
进行优化,加一个flag标记
var arr=[5,0,-56,900,100,20];
var flag=false;
//大的排序次数(arr.length-1),数组arr下标最大是length-1
for (var i=0;i<arr.length-1 ;i++ ){
for (var j=0;j<arr.length-1-i ;j++ ){
if (arr[j]>arr[j+1]){
//交换
var temp=arr[j];
arr[j]=arr[j+1];
arr[j+1]=temp;
flag=true;
}
}
if (flag){
flag=false;
}else{
break;
}
//如果没有排过序 flag还是flase 反之 flag=true.如果排过序 就给flag重新赋值flase,反之,则意味着已经排好序了直接跳出循环.
}
for (var i=0;i<arr.length ;i++ ){
document.writeln(arr[i]+'  ');
}