设为首页 加入收藏

TOP

JavasScript中的冒泡排序
2016-06-12 14:17:37 】 浏览:8673
Tags:JavasScript 冒泡 排序

冒泡排序:就是将一个数组中的元素按照从大到小或者从小到大的顺序进行排列。


var array=[9,8,7,6,5,4,3,2,1];


第一轮比较:8,7,6,5,4,3,2,1,9 交换了8次 i=0 j=array.length-1-i


第二轮比较:7,6,5,4,3,2,1,8,9 交换了7次 i=1 j=array.length-1-i


第三轮比较:6,5,4,3,2,1,7,8,9 交换了6次 i=2 j=array.length-1-i


第四轮比较:5,4,3,2,1,6,7,8,9 交换了5次 i=3 j=array.length-1-i


第五轮比较:4,3,2,1,5,6,7,8,9 交换了4次 i=4 j=array.length-1-i


第六轮比较:3,2,1,4,5,6,7,8,9 交换了3次 i=5 j=array.length-1-i


第七轮比较:2,1,3,4,5,6,7,8,9 交换了2次 i=6 j=array.length-1-i


第八轮比较:1,2,3,4,5,6,7,8,9 交换了1次 i=7 j=array.length-1-i


代码实现:


var temp;
var array=[9,8,7,6,5,4,3,2,1];
//外循环控制轮数
for(var i=0;i//内循环控制比较次数
for(var j=0;j if(array[j]>array[j+1]){
//交换两个变量
temp=array[j];
array[j]=array[j+1];
array[j+1]=temp;
}
}
}


console.log(array);


代码优化:


var temp,bool,m=0;
var array=[9,8,7,6,5,4,3,2,1];
for(var i=0;i //开闭原则中的开关
bool = true;
for(var j=0;j if(array[j]>array[j+1]){
//交换两个变量
temp=array[j];
array[j]=array[j+1];
array[j+1]=temp;
bool=false;//将开关关闭
}
}
//如果内循环中的if没有被执行(开关关闭,执行下面的语句);
if(bool){
break;
}
m++;
}
console.log(array+",比较"+m+"轮");


备注:比较轮数最好情况为0轮,最坏为8轮


】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
上一篇WinCE6.0的EBOOT概要 下一篇浅析JNI函数的注册过程

最新文章

热门文章

Hot 文章

Python

C 语言

C++基础

大数据基础

linux编程基础

C/C++面试题目