02_不声明第三个变量实现冒泡排序
2015-11-16 21:44
239 查看
function bubble(arr){
for(var n=1;n<arr.length-1;n++){
//一共需要遍历arr.length-1次,才能将所有数字排正确。
for(var i=0;i<arr.length-n;i++){
//遍历数组中每个值,每遍历一遍,就确定一个最大值,下一次遍历就少1次 所以每次遍历的次数是arr.length-n;
if(arr[i]>arr[i+1]){
//当当前值大于下一个值时
arr[i]+=arr[i+1];
//替换当前值和下一个值的位置
arr[i+1]=arr[i]-arr[i+1];
arr[i]-=arr[i+1]
}
}
}
return arr;
}
var arr=[8,7,6,5,8,7,6,2,3,4,3,2,1];
console.log(bubble(arr));
//[1,2,2,3,3,4,5,6,6,7,7,8,8]
for(var n=1;n<arr.length-1;n++){
//一共需要遍历arr.length-1次,才能将所有数字排正确。
for(var i=0;i<arr.length-n;i++){
//遍历数组中每个值,每遍历一遍,就确定一个最大值,下一次遍历就少1次 所以每次遍历的次数是arr.length-n;
if(arr[i]>arr[i+1]){
//当当前值大于下一个值时
arr[i]+=arr[i+1];
//替换当前值和下一个值的位置
arr[i+1]=arr[i]-arr[i+1];
arr[i]-=arr[i+1]
}
}
}
return arr;
}
var arr=[8,7,6,5,8,7,6,2,3,4,3,2,1];
console.log(bubble(arr));
//[1,2,2,3,3,4,5,6,6,7,7,8,8]
相关文章推荐
- iOS平台基于KVC的JSON与数据对象绑定
- 完美软件不是结果,是追求
- Java程序员常用工具集
- Android-UI布局---RecyclerView学习(四)匹配GridLayoutManager的ItemDecoration
- 随意细解:UI -- 设计模式、手势识别
- QT 的信号与槽
- 菜鸟学习Cocos2d-x 3.x——内存管理
- jquery 使用方法(转载)
- LeetCode Sum Root to Leaf Numbers(DFS)
- Oracle数据的导入导出命令
- 随时笔记---修改ip访问外网
- [LeetCode]Next Permutation
- hdu 1086 判断交点
- apache下面的下载资源,如果不想从apache.org上面下载可以从下面下载
- 浅谈JavaScript中的柯里化函数
- 新版solr安装及配置(无*.war版本)
- 程序员必读书单
- Python字符串,元组、列表、字典
- android中图片压缩以及图片旋转的方法
- Android开发工具全面转向Android Studio