js交换排序 冒泡排序算法(Javascript版)


Posted in Javascript onOctober 04, 2014

比较相邻的元素。如果第一个比第二个大,就交换他们两个。
对每一对相邻元素作同样的工作,从开始第一对到结尾的最后一对。在这一点,最后的元素应该会是最大的数。
针对所有的元素重复以上的步骤,除了最后一个。
持续每次对越来越少的元素重复上面的步骤,直到没有任何一对数字需要比较。

function sort(elements){
 for(var i=0;i<elements.length-1;i++){
  for(var j=0;j<elements.length-i-1;j++){
   if(elements[j]>elements[j+1]){
    var swap=elements[j];
    elements[j]=elements[j+1];
    elements[j+1]=swap;
   }
  }
 }
}

var elements = [3, 1, 5, 7, 2, 4, 9, 6, 10, 8];
console.log('before: ' + elements);
sort(elements);
console.log(' after: ' + elements);

效率:

时间复杂度:最好:O(n),最坏:O(n^2),平均:O(n^2)。

空间复杂度:O(1)。

稳定性:稳定。

Javascript 相关文章推荐
jquery鼠标停止移动事件
Dec 21 Javascript
JS实现密码框根据焦点的获取与失去控制文字的消失与显示效果
Nov 26 Javascript
基于JS实现类似支付宝支付密码输入框
Sep 02 Javascript
详解Javascript中prototype属性(推荐)
Sep 03 Javascript
Bootstrap滚动监听组件scrollspy.js使用方法详解
Jul 20 Javascript
jQuery实现左右滑动的toggle方法
Mar 03 jQuery
微信小程序实现漂亮的弹窗效果
May 26 Javascript
对vue中v-on绑定自定事件的实例讲解
Sep 06 Javascript
关于vue编译版本引入的问题的解决
Sep 17 Javascript
vue axios 简单封装以及思考
Oct 09 Javascript
Vue基于vuex、axios拦截器实现loading效果及axios的安装配置
Apr 26 Javascript
一文帮你理解PReact10.5.13源码
Apr 03 Javascript
Javascript获取当前时间函数和时间操作小结
Oct 01 #Javascript
js事件绑定快捷键以ctrl+k为例
Sep 30 #Javascript
显示今天的日期js代码(阳历和农历)
Sep 30 #Javascript
gridview生成时如何去掉style属性中的border-collapse
Sep 30 #Javascript
javascript学习笔记(四)function函数部分
Sep 30 #Javascript
javascript学习笔记(三)BOM和DOM详解
Sep 30 #Javascript
让人蛋疼的JavaScript语法特性
Sep 30 #Javascript
You might like
用PHP将网址字符串转换成超链接(网址或email)
2010/05/25 PHP
解析php开发中的中文编码问题
2013/08/08 PHP
Chrome Form多次提交表单问题的解决方法
2011/05/09 Javascript
JavaScript实现快速排序(自已编写)
2012/12/19 Javascript
select标签模拟/美化方法采用JS外挂式插件
2013/04/01 Javascript
js实现无需数据库的县级以上联动行政区域下拉控件
2013/08/14 Javascript
jquery事件绑定解绑机制源码解析
2016/09/19 Javascript
微信小程序 MINA文件结构
2016/10/17 Javascript
Angular-Touch库用法示例
2016/12/22 Javascript
js/jquery控制页面动态加载数据 滑动滚动条自动加载事件的方法
2017/02/08 Javascript
Vue自定义指令拖拽功能示例
2017/02/17 Javascript
JS实现数组简单去重及数组根据对象中的元素去重操作示例
2018/01/05 Javascript
快速解决Vue项目在IE浏览器中显示空白的问题
2018/09/04 Javascript
js/jquery遍历对象和数组的方法分析【forEach,map与each方法】
2019/02/27 jQuery
浅谈Angular单元测试总结
2019/03/22 Javascript
layui插件表单验证提交触发提交的例子
2019/09/09 Javascript
浅谈bootstrap layer.open中end的使用方法
2019/09/12 Javascript
vue-cli4使用全局less文件中的变量配置操作
2020/10/21 Javascript
javascript实现固定侧边栏
2021/02/09 Javascript
Python爬取读者并制作成PDF
2015/03/10 Python
在树莓派2或树莓派B+上安装Python和OpenCV的教程
2015/03/30 Python
python3对拉勾数据进行可视化分析的方法详解
2019/04/03 Python
彻底搞懂 python 中文乱码问题(深入分析)
2020/02/28 Python
python实现ftp文件传输系统(案例分析)
2020/03/20 Python
使用Keras 实现查看model weights .h5 文件的内容
2020/06/09 Python
英国人最爱的饰品网站:Accessorize
2016/08/22 全球购物
巴西补充剂和维生素购物网站:Natue
2019/06/17 全球购物
计算机专业个人简短的自我评价
2013/10/23 职场文书
2014年国培研修感言
2014/03/09 职场文书
员工趣味活动方案
2014/08/27 职场文书
课内比教学心得体会
2014/09/09 职场文书
先进党支部事迹材料
2014/12/24 职场文书
大学开学典礼新闻稿
2015/07/17 职场文书
网络营销实训总结
2015/08/03 职场文书
python百行代码实现汉服圈图片爬取
2021/11/23 Python
Python可视化神器pyecharts之绘制地理图表练习
2022/07/07 Python