JavaScript实现的冒泡排序法及统计相邻数交换次数示例


Posted in Javascript onApril 26, 2017

本文实例讲述了JavaScript实现的冒泡排序法及统计相邻数交换次数。分享给大家供大家参考,具体如下:

<html>
 <head>JS冒泡排序</head>
 <body>
  <script>
   var arr=[-1,-2,-30,-4,-5,-6];
   var flag=false;     //判断相邻两个数是否交换过
   var n=0;      //计算交换次数
   for(var i=0;i<arr.length-1;i++){    //i表示的是每次找出来的最大或最小数需要的次数
    for(var j=0;j<arr.length-i-1;j++){
     if(arr[j]>arr[j+1]){
      var temp=arr[j];
      arr[j]=arr[j+1];
      arr[j+1]=temp;
      flag=true;
     }
     if(flag){
      flag=false;
      n++;
     }else{
      continue;
     }
    }
   }
   document.write("n="+n+"<br />");
     document.write("总共交换了"+n+"次后的结果是:"+"<br />");
   for(var k=0;k<arr.length;k++){
    document.writeln(arr[k]+" ");
   }
  </script>
 </body>
</html>

运行效果图如下:

JavaScript实现的冒泡排序法及统计相邻数交换次数示例

Javascript 相关文章推荐
javascript的函数
Jan 31 Javascript
js中事件的处理与浏览器对象示例介绍
Nov 29 Javascript
iScroll中事件点击触发两次解决方案
Mar 11 Javascript
jquery实现表单验证并阻止非法提交
Jul 09 Javascript
对象题目的一个坑 理解Javascript对象
Dec 22 Javascript
JavaScript中点击事件的写法
Jun 28 Javascript
JavaScript实现复制文章自动添加版权
Aug 02 Javascript
jQuery简单自定义图片轮播插件及用法示例
Nov 21 Javascript
js实现首屏延迟加载实现方法 js实现多屏单张图片延迟加载效果
Jul 17 Javascript
如何使用pm2快速将项目部署到远程服务器
Mar 12 Javascript
Axios代理配置及封装响应拦截处理方式
Apr 07 Vue.js
vue route新窗口跳转页面并且携带与接收参数
Apr 10 Vue.js
微信小程序 实例开发总结
Apr 26 #Javascript
AngularJS 霸道的过滤器小结
Apr 26 #Javascript
JavaScript纯色二维码变成彩色二维码
Jul 23 #Javascript
xmlplus组件设计系列之按钮(2)
Apr 26 #Javascript
xmlplus组件设计系列之列表(4)
Apr 26 #Javascript
JS实现数组按升序及降序排列的方法
Apr 26 #Javascript
详解AngularJs ui-router 路由的简单介绍
Apr 26 #Javascript
You might like
php数据结构 算法(PHP描述) 简单选择排序 simple selection sort
2011/08/09 PHP
PHP中使用Imagick操作PSD文件实例
2015/01/26 PHP
基于CI框架的微信网页授权库示例
2016/11/25 PHP
Yii2 hasOne(), hasMany() 实现三表关联的方法(两种)
2017/02/15 PHP
thinkPHP简单调用函数与类库的方法
2017/03/15 PHP
Laravel使用原生sql语句并调用的方法
2019/10/09 PHP
event.srcElement+表格应用
2006/08/29 Javascript
一段好玩的JavaScript代码
2006/12/01 Javascript
Javascript模块模式分析
2008/05/16 Javascript
js 替换功能函数,用正则表达式解决,js的全部替换
2010/12/08 Javascript
Jquery中offset()和position()的区别分析
2015/02/05 Javascript
分享Javascript实用方法二
2015/12/13 Javascript
js判断移动端是否安装某款app的多种方法
2015/12/18 Javascript
js实现图片上传并正常显示
2015/12/19 Javascript
JS类的定义与使用方法深入探索
2016/11/26 Javascript
laydate.js日期时间选择插件
2017/01/04 Javascript
jQuery弹出层插件popShow(改进版)用法示例
2017/01/23 Javascript
Angular.JS通过指令操作DOM的方法
2017/05/10 Javascript
详解自定义ajax支持跨域组件封装
2018/02/08 Javascript
JS获取指定月份的天数两种实现方法
2018/06/22 Javascript
详解Vue SSR( Vue2 + Koa2 + Webpack4)配置指南
2018/11/13 Javascript
JavaScript命名空间模式实例详解
2019/06/20 Javascript
Vue+Koa2+mongoose写一个像素绘板的实现方法
2019/09/10 Javascript
详解Typescript 内置的模块导入兼容方式
2020/05/31 Javascript
JavaScript快速调试的两个技巧
2020/11/04 Javascript
[52:44]VGJ.T vs infamous Supermajor小组赛D组败者组第一轮 BO3 第一场 6.3
2018/06/04 DOTA
python字符串排序方法
2014/08/29 Python
Python离线安装PIL 模块的方法
2019/01/08 Python
Python多叉树的构造及取出节点数据(treelib)的方法
2019/08/09 Python
wxPython之wx.DC绘制形状
2019/11/19 Python
thinkphp5 路由分发原理
2021/03/18 PHP
CSS3的常见transformation图形变化用法小结
2016/05/13 HTML / CSS
中国医药集团国药在线:国药网
2017/02/06 全球购物
What's the difference between an interface and abstract class? (接口与抽象类有什么区别)
2012/10/29 面试题
岗位说明书标准范本
2014/07/30 职场文书
Python实现列表拼接和去重的三种方式
2021/07/02 Python