<script type="text/javascript">
var arr=[1,2,0,3,4,5,6];
document.write(" 原始数组:"+arr);
document.write("<br/>");
for(var i=0;i<arr.length-1;i++){
//最多做n-1趟排序,也就是指,最后一次应该是倒数第二个数和倒数第一个数比较
var flag=true;
for(var j=0;j<arr.length-1-i;j++){
//从数组第0个元素开始,一直比到arr.length-1-i(不包括)的位置
//因为大于等于arr.length-1-i的元素已经排好序了
if(arr[j]>arr[j+1]){
flag=false;
var temp;
temp=arr[j];
arr[j]=arr[j+1];
arr[j+1]=temp;
}
}
//改进
//如果一次循环下来,没有元素发生位置改变,flag=true时结束循环,效率更高
if(flag==true){
break;
}
}
document.write("排序数组:"+arr);
document.write("<br/>");
document.write("共排了"+i+"次");
document.write("<br/>");
</script>
其他改进后续将补充