javascript冒泡排序小结


Posted in Javascript onApril 10, 2016

冒泡排序示例,双向冒泡排序与对双向冒泡排序稍微的改进的可视化效果。

代码很简单,不知道有木有未知bug。
大神请勿吐槽

冒泡排序示例

var ls=[ 98,13,6,25,38,36,30,44,38,80,61,28,47,34,95,18,85,58,89,85,42,61,74,35,13,14,80,7,10,44,10,47,13,11,52,25,24,48,34,12,88,80,33,8,80,45,64,52,79,77 ];
 
for(var i=0;i<ls.length;i++){
      for(var j=i+1;j<ls.length;j++){
        if(ls[i]>ls[j]){
          ls[i]=ls[i]+ls[j];
          ls[j]=ls[i]-ls[j];
          ls[i]=ls[i]-ls[j];
        } 
      }
    }

双向冒泡排序示例

var ls=[ 6,13,98,25,38,36,30,44,38,80,61,28,47,34,95,18,85,58,89,85,42,61,74,35,13,14,80,7,10,44,10,47,13,11,52,25,24,48,34,12,88,80,33,8,80,45,64,52,79,77 ];
 
for(var i=0;i<ls.length;i++){
      for(var j=i+1;j<ls.length-i;j++){
        if(ls[lent-1-i]<ls[lent-j]){
          ls[lent-1-i]=ls[lent-1-i]+ls[lent-j];
          ls[lent-j]=ls[lent-1-i]-ls[lent-j];
          ls[lent-1-i]=ls[lent-1-i]-ls[lent-j];
        }//后面的比较
        if(ls[i]>ls[j]){
          ls[i]=ls[i]+ls[j];
          ls[j]=ls[i]-ls[j];
          ls[i]=ls[i]-ls[j];
        }//前面的比较
      }
    }

双向冒泡排序稍微改进示例

var ls=[ 98,13,6,25,38,36,30,44,38,80,61,28,47,34,95,18,85,58,89,85,42,61,74,35,13,14,80,7,10,44,10,47,13,11,52,25,24,48,34,12,88,80,33,8,80,45,64,52,79,77 ];
 
var lent=ls.length;
for(var i=0;i<ls.length;i++){
      for(var j=i*2;j<ls.length-2*i;j++){
        if(ls[i*2]>ls[j+1]){
          ls[i*2]=ls[i*2]+ls[j+1];
          ls[j+1]=ls[i*2]-ls[j+1];
          ls[i*2]=ls[i*2]-ls[j+1];
        }//保持内层第一个数为循环最小
         
        if(ls[lent-i*2-1]<ls[lent-j-1]){
          ls[lent-i*2-1]=ls[lent-i*2-1]+ls[lent-j-1];
          ls[lent-j-1]=ls[lent-i*2-1]-ls[lent-j-1];
          ls[lent-i*2-1]=ls[lent-i*2-1]-ls[lent-j-1];
        }////保持内层倒数第一个数为循环最大
           
          if(ls[lent-2-i*2]<ls[lent-j-1]){
            ls[lent-2-i*2]=ls[lent-2-i*2]+ls[lent-j-1];
            ls[lent-j-1]=ls[lent-2-i*2]-ls[lent-j-1];
            ls[lent-2-i*2]=ls[lent-2-i*2]-ls[lent-j-1];
          }//倒数上一个
           
          if(ls[i*2+1]>ls[j+1]){
            ls[i*2+1]=ls[i*2+1]+ls[j+1];
            ls[j+1]=ls[i*2+1]-ls[j+1];
            ls[i*2+1]=ls[i*2+1]-ls[j+1];
          }//下一个
      }
}
Javascript 相关文章推荐
基于jquery的checkbox下拉框插件代码
Jun 25 Javascript
jQuery 表单验证扩展代码(一)
Oct 11 Javascript
javascript 用函数语句和表达式定义函数的区别详解
Jan 06 Javascript
jquery each的几种常用的使用方法示例
Jan 21 Javascript
JQuery选择器绑定事件及修改内容的方法
Jan 23 Javascript
jQuery实现图片左右滚动特效
Apr 20 Javascript
浅谈Angular中ngModel的$render
Oct 24 Javascript
Sortable.js拖拽排序使用方法解析
Nov 04 Javascript
jQuery动态生成表格及右键菜单功能示例
Jan 13 Javascript
JS中的两种数据类型及实现引用类型的深拷贝的方法
Aug 12 Javascript
node爬取新型冠状病毒的疫情实时动态
Feb 06 Javascript
javascript实现扫雷简易版
Aug 18 Javascript
javascript原生ajax写法分享
Apr 10 #Javascript
Javascript实现苹果悬浮虚拟按钮
Apr 10 #Javascript
jQuery实现点击水纹波动动画
Apr 10 #Javascript
JavaScript数据绑定实现一个简单的 MVVM 库
Apr 08 #Javascript
jQuery使用Selectator插件实现多选下拉列表过滤框(附源码下载)
Apr 08 #Javascript
JavaScript代码实现左右上下自动晃动自动移动
Apr 08 #Javascript
JS表单验证的代码(常用)
Apr 08 #Javascript
You might like
一步一步学习PHP(3) php 函数
2010/02/15 PHP
获取php页面执行时间,数据库读写次数,函数调用次数等(THINKphp)
2013/06/03 PHP
PHP实现的同步推荐操作API接口案例分析
2016/11/30 PHP
基于Laravel 多个中间件的执行顺序详解
2019/10/21 PHP
PHP生成随机密码4种方法及性能对比
2020/12/11 PHP
Jquery+JSon 无刷新分页实现代码
2010/04/01 Javascript
js window.print实现打印特定控件或内容
2013/09/16 Javascript
jQuery插件开发的五种形态小结
2015/03/04 Javascript
JSON中key动态设置及JSON.parse和JSON.stringify()的区别
2016/12/29 Javascript
JavaScript中各数制转换全面总结
2017/08/21 Javascript
js阻止默认右键的下拉菜单方法
2018/01/02 Javascript
vue使用xe-utils函数库的具体方法
2018/03/06 Javascript
python中的__init__ 、__new__、__call__小结
2014/04/25 Python
Python读大数据txt
2016/03/28 Python
Python实现字符串的逆序 C++字符串逆序算法
2020/05/28 Python
python使用Flask操作mysql实现登录功能
2018/05/14 Python
python切片及sys.argv[]用法详解
2018/05/25 Python
Django跨域请求问题的解决方法示例
2018/06/16 Python
python3基于TCP实现CS架构文件传输
2018/07/28 Python
Python实现的银行系统模拟程序完整案例
2019/04/12 Python
python3.6 tkinter实现屏保小程序
2019/07/30 Python
Python 获取命令行参数内容及参数个数的实例
2019/12/20 Python
CSS3 圆角效果
2009/07/15 HTML / CSS
精灵市场:Pixie Market
2019/06/18 全球购物
Shell编程面试题
2012/05/30 面试题
个人简历中的自我评价怎么写
2014/01/26 职场文书
总经理司机职责
2014/02/02 职场文书
美术毕业生求职信
2014/02/25 职场文书
优秀语文教师事迹
2014/05/18 职场文书
党建目标管理责任书
2014/07/25 职场文书
社区平安建设汇报材料
2014/08/14 职场文书
幼儿园教师岗位职责
2015/04/02 职场文书
求职意向书范本
2015/05/11 职场文书
2015团员个人年度总结
2015/11/24 职场文书
MySQL CHAR和VARCHAR该如何选择
2021/05/31 MySQL
MySQL 开窗函数
2022/02/15 MySQL