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 类与静态类的实现
Apr 01 Javascript
用函数模板,写一个简单高效的 JSON 查询器的方法介绍
Apr 17 Javascript
Firefox中通过JavaScript复制数据到剪贴板(Copy to Clipboard 跨浏览器版)
Nov 22 Javascript
JS实现网页顶部向下滑出的全国城市切换导航效果
Aug 22 Javascript
如何使用PHP+jQuery+MySQL实现异步加载ECharts地图数据(附源码下载)
Feb 23 Javascript
深入浅析search 搜索框的写法
Aug 02 Javascript
JS正则表达式验证中文字符
May 08 Javascript
Vue学习笔记进阶篇之多元素及多组件过渡
Jul 19 Javascript
vue2.0 axios跨域并渲染的问题解决方法
Mar 08 Javascript
D3.js实现简洁实用的动态仪表盘的示例
Apr 04 Javascript
Vue实现textarea固定输入行数与添加下划线样式的思路详解
Jun 28 Javascript
vue实现在线预览pdf文件和下载(pdf.js)
Nov 26 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
使用 php4 加速 web 传输
2006/10/09 PHP
PHP中Date()时间日期函数的使用方法小结
2011/04/20 PHP
浏览器预览PHP文件时顶部出现空白影响布局分析原因及解决办法
2013/01/11 PHP
php中将字符串转为HTML的实体引用的一个类
2013/02/03 PHP
浅谈PHP调用Webservice思路及源码分享
2014/06/04 PHP
Laravel重写用户登录简单示例
2016/10/08 PHP
ThinkPHP5.0框架使用build 自动生成模块操作示例
2019/04/11 PHP
php计数排序算法的实现代码(附四个实例代码)
2020/03/31 PHP
js实现单击图片放大图片的方法
2015/02/17 Javascript
jquery UI Datepicker时间控件的使用及问题解决
2016/04/28 Javascript
基于JavaScript实现活动倒计时效果
2017/04/20 Javascript
nodejs mysql 实现分页的方法
2017/06/06 NodeJs
详解给Vue2路由导航钩子和axios拦截器做个封装
2018/04/10 Javascript
ElementUI radio组件选中小改造
2019/08/12 Javascript
微信小程序实现一张或多张图片上传(云开发)
2019/09/25 Javascript
Layui 解决表格异步调用后台分页的问题
2019/10/26 Javascript
vue 实现单选框设置默认选中值
2019/11/07 Javascript
[03:13]DOTA2-DPC中国联赛1月25日Recap集锦
2021/03/11 DOTA
python BeautifulSoup使用方法详解
2013/11/21 Python
python实现textrank关键词提取
2018/06/22 Python
对numpy中的transpose和swapaxes函数详解
2018/08/02 Python
python 文件查找及内容匹配方法
2018/10/25 Python
Python 文本文件内容批量抽取实例
2018/12/10 Python
python代码实现逻辑回归logistic原理
2019/08/07 Python
PyCharm专业最新版2019.1安装步骤(含激活码)
2019/10/09 Python
解决python 找不到module的问题
2020/02/12 Python
西班牙汉普顿小姐:购买帆布鞋和太阳镜
2016/10/23 全球购物
阿里云:Aliyun.com
2017/02/15 全球购物
英国最大的专业户外零售商:Mountain Warehouse
2018/06/06 全球购物
英国顶级珠宝品牌之家:John Greed
2018/06/09 全球购物
信息专业学生学习的自我评价
2014/02/17 职场文书
物联网工程专业推荐信
2014/09/08 职场文书
大学毕业典礼演讲稿
2014/09/09 职场文书
导游词怎么写
2015/02/04 职场文书
学校光盘行动倡议书
2015/04/28 职场文书
2016年幼儿园教师政治学习心得体会
2016/01/23 职场文书