冒泡排序

冒泡排序:类似冒泡一样,将最大数据或最小数据排到最右边(这里使最小数据排到最右边)。

假设有下面一组数据(采用极端):

1 2 3 4 5

第一趟排序(比较了4次,交换了4次):

2 1 3 4 5

2 3 1 4 5

2 3 4 1 5

2 3 4 5 1

第二趟排序(比较3次,交换3次;第4次不用比较,因为最后一个已经是最小的了):

3 2 4 5 1

3 4 2 5 1

3 4 5 2 1

第三趟排序(比较2次,交换2次)

4 3 5 2 1

4 5 3 2 1

第四次排序(比较一次,交换一次)

5 4 3 2 1

代码仅供参考:

var arr=[1,2,3,4,5];

for(var i=1;i<arr.length;i++){
for(var j=1;j<=arr.length-i;j++){    //交换完一回,意味着有一个数不用比了,已经将一个最小的数毛在了顶端,所以交换次数会不断减少。
if(arr[j-1]<arr[j]){                         //第一回比较的次数肯定是:总个数-1=length-1,但是下面的arr[j-1]还带有效。
var temp=arr[j-1];        
arr[j-1]=arr[j];
arr[j]=temp;
}
}
}
for(var i=0;i<arr.length;i++){
document.write(arr[i]+" ");
}

posted @ 2016-09-05 13:07  土豆zhang  阅读(150)  评论(0编辑  收藏  举报