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 相关文章推荐
javascript编程起步(第五课)
Jan 10 Javascript
不用锚点也可以平滑滚动到页面的指定位置实现代码
May 08 Javascript
Node.js 条形码识别程序构建思路详解
Feb 14 Javascript
jquery实现列表上下移动功能
Feb 25 Javascript
jQuery 常见小例汇总
Dec 14 Javascript
BootStrap实现文件上传并带有进度条效果
Sep 11 Javascript
JavaScript图片处理与合成总结
Mar 04 Javascript
js使用Promise实现简单的Ajax缓存
Nov 14 Javascript
原生js+ajax分页组件
Jan 30 Javascript
Node.js API详解之 zlib模块用法分析
May 19 Javascript
javascript中导出与导入实现模块化管理教程
Dec 03 Javascript
JS轻量级函数式编程实现XDM三
Jun 16 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
安健A254立体声随身听的分析与打磨
2021/03/02 无线电
Access数据库导入Mysql的方法之一
2006/10/09 PHP
phpmyadmin导入(import)文件限制的解决办法
2009/12/11 PHP
PHP字符串处理的10个简单方法
2010/06/30 PHP
应用开发中涉及到的css和php笔记分享
2011/08/02 PHP
php中is_null,empty,isset,unset 的区别详细介绍
2013/04/28 PHP
php获取远程图片体积大小的实例
2013/11/12 PHP
php ctype函数中文翻译和示例
2014/03/21 PHP
PHP 常用时间函数资料整理
2016/10/22 PHP
Extjs学习笔记之五 一个小细节renderTo和applyTo的区别
2010/01/07 Javascript
写得不错的jquery table鼠标经过变色代码
2013/09/27 Javascript
js动画效果制件让图片组成动画代码分享
2014/01/14 Javascript
JavaScript实现快速排序的方法
2015/07/31 Javascript
深入探讨前端框架react
2015/12/09 Javascript
基于jquery实现轮播焦点图插件
2016/03/31 Javascript
React Native实现进度条弹框的示例代码
2017/07/17 Javascript
微信小程序开发animation心跳动画效果
2017/08/16 Javascript
[03:40]DOTA2英雄梦之声_第01期_炼金术士
2014/06/23 DOTA
[48:24]完美世界DOTA2联赛循环赛LBZS vs Forest 第一场 10月30日
2020/10/31 DOTA
Python统计列表中的重复项出现的次数的方法
2014/08/18 Python
Python functools模块学习总结
2015/05/09 Python
详解Django框架中用context来解析模板的方法
2015/07/20 Python
Python实现的RSS阅读器实例
2015/07/25 Python
python绘制简单彩虹图
2018/11/19 Python
解决python3.5 正常安装 却不能直接使用Tkinter包的问题
2019/02/22 Python
python属于解释语言吗
2020/06/11 Python
CSS3 圆角效果
2009/07/15 HTML / CSS
澳大利亚设计师服装在线:MISHA
2019/10/07 全球购物
优秀食品类广告词
2014/03/19 职场文书
法人代表授权委托书
2014/04/08 职场文书
《高尔基和他的儿子》教学反思
2014/04/09 职场文书
婚礼新人答谢词
2015/01/04 职场文书
工伤劳动仲裁代理词
2015/05/25 职场文书
小学语文教师研修日志
2015/11/13 职场文书
Python基础之教你怎么在M1系统上使用pandas
2021/05/08 Python
Flink 侧流输出源码示例解析
2022/09/23 Servers