JavaScript 冒泡排序和选择排序的实现代码


Posted in Javascript onSeptember 03, 2016

废话不多说了,直接给大家贴代码了,具体代码如下所述:

var array = [1,2,3,4,5]; // ---> 服务
//效率 ---> 针对一个有序的数组 效率最高
//标志 true false 
for(var j = 0; j < array.length - 1;j++ ){
//- j 每次排序完成之后 后面减少比较的次数
var isTrue = true; //如果数组本身就是升序,则直接输出
for(var i = 0; i < array.length - j - 1;i++){
if(array[i] > array[i+1])
{
var temp = array[i];
array[i] = array[i+1];
array[i+1] = temp;
isTrue = false;
}
}
document.write(array);
if(isTrue){
break;
}
}
var array = [12,34,4,6,20];
//length - 1 j = 0 - length - 1
for(var j = 0; j < array.length - 1;j++){
var min = array[j]; // 1 3 34 4 345 5
var minIndex = j;
for(var i = j + 1; i < array.length;i++){
if(array[i] < min){
min = array[i];
minIndex = i;
}
}
if(minIndex != j){
var temp = array[minIndex];
array[minIndex] = array[j];
array[j] = temp;
}
}

下面在看下Javascript实现三种排序:冒泡排序、选择排序、插入排序的代码

<script type="text/javascript">
    var a;
    a = [66, 53, 11, 5, 4, 3, 2, 1];
    /*冒泡排序*/
    (function maopaopaixu() {
      for (var i = 0; i < a.length - 1; i++) {//比较的次数是length-1
        for (var j = 0; j < a.length - 1 - i; j++) {
          if (a[j] > a[j + 1]) {
            var tmp = a[j];
            a[j] = a[j + 1];
            a[j + 1] = tmp;
          }
        }
      }
      alert(a);
    })();
    a = [66, 53, 11, 5, 4, 3, 2, 1];
    /*选择排序*/
    (function xuanzepaixu() {
      var min/*最小项的索引*/, tmp;
      for (var out = 0; out < a.length - 1; out++) {//比较的次数是length-1
        min = out;
        for (var inner = out + 1; inner < a.length; inner++) {//这里是a.length,不是a.lenght-1,因为后者会导致右数第2项没法参与排序。
          if (a[inner] < a[min]) {
            min = inner;
          }
          //将最小的项移动到左侧
          tmp = a[out];
          a[out] = a[min]
          a[min] = tmp;
        }
      }
      alert(a);
    })();
    a = [66, 53, 11, 5, 4, 3, 2, 1];
    /*插入排序*/
    (function charupaixu() {
      for (var out = 1; out < a.length; out++) {
        var tmp = a[out];
        var inner = out;
        while (a[inner - 1] > tmp) {
          a[inner] = a[inner - 1];
          --inner;
        }
        a[inner] = tmp;
      }
      alert(a);
    })();
  </script>

以上所述是小编给大家介绍的JavaScript 冒泡排序和选择排序的实现代码,希望对大家有所帮助,如果大家有任何疑问欢迎给我留言,小编会及时回复大家!

Javascript 相关文章推荐
JS+CSS实现精美的二级导航效果代码
Sep 17 Javascript
jQuery+CSS3实现3D立方体旋转效果
Nov 10 Javascript
Web Uploader文件上传插件使用详解
May 10 Javascript
jQuery ajax的功能实现方法详解
Jan 06 Javascript
Vue表单验证插件的制作过程
Apr 01 Javascript
React服务端渲染(总结)
Jul 01 Javascript
jquery ajax异步提交表单数据的方法
Oct 27 jQuery
vue 2.0 购物车小球抛物线的示例代码
Feb 01 Javascript
在vue中使用setInterval的方法示例
Apr 16 Javascript
Vue v-for循环之@click点击事件获取元素示例
Nov 09 Javascript
vue添加锚点,实现滚动页面时锚点添加相应的class操作
Aug 10 Javascript
浅谈vant组件Picker 选择器选单选问题
Nov 04 Javascript
浅析$(function) ready和onload 的区别
Sep 03 #Javascript
详解Javascript中prototype属性(推荐)
Sep 03 #Javascript
jQuery基本选择器之标签名选择器
Sep 03 #Javascript
基于JS实现回到页面顶部的五种写法(从实现到增强)
Sep 03 #Javascript
jQuery dataTables与jQuery UI 对话框dialog的使用教程
Sep 02 #Javascript
AngularJs  unit-testing(单元测试)详解
Sep 02 #Javascript
AngularJs Managing Service Dependencies详解
Sep 02 #Javascript
You might like
CPU步进是什么意思?i3-9100F B0步进和U0步进区别知识科普
2020/03/17 数码科技
PHP生成二维码的两个方法和实例
2014/07/01 PHP
PHP函数eval()介绍和使用示例
2014/08/20 PHP
php-beanstalkd消息队列类实例分享
2017/07/19 PHP
js cookies实现简单统计访问次数
2009/11/24 Javascript
ExtJs 3.1 XmlTreeLoader Example Error
2010/02/09 Javascript
javascript 10进制和62进制的相互转换
2014/07/31 Javascript
jQuery之DOM对象和jQuery对象的转换与区别分析
2015/01/08 Javascript
深入剖析JavaScript中的函数currying柯里化
2016/04/29 Javascript
vue.js 使用v-if v-else发现没有执行解决办法
2017/05/15 Javascript
深入浅析Node.js单线程模型
2017/07/10 Javascript
在Vant的基础上封装下拉日期控件的代码示例
2018/12/05 Javascript
vue中使用props传值的方法
2019/05/08 Javascript
在vue中实现清除echarts上次保留的数据(亲测有效)
2020/09/09 Javascript
[49:08]Secret vs VP 2018国际邀请赛小组赛BO2 第一场 8.17
2018/08/20 DOTA
完美解决Python 2.7不能正常使用pip install的问题
2018/06/12 Python
python基于property()函数定义属性
2020/01/22 Python
python 两种方法修改文件的创建时间、修改时间、访问时间
2020/09/26 Python
解决python3输入的坑——input()
2020/12/05 Python
html5视频播放_动力节点Java学院整理
2017/07/13 HTML / CSS
Foot Locker英国官网:美国知名运动产品零售商
2019/02/21 全球购物
美国唇部护理专家:Sara Happ
2019/06/19 全球购物
应聘医药代表职位求职信
2013/10/21 职场文书
外贸学院会计专业应届生求职信
2013/11/14 职场文书
顶撞老师检讨书
2014/02/07 职场文书
销售主管岗位职责范本
2014/02/14 职场文书
经典促销广告词大全
2014/03/19 职场文书
新春联欢会主持词
2014/03/24 职场文书
团队会宣传标语
2014/10/09 职场文书
升学宴学生答谢词
2015/01/05 职场文书
新学期感想
2015/08/10 职场文书
街道办残联2016年助残日活动总结
2016/04/01 职场文书
创业计划书之校园超市
2019/09/12 职场文书
AJAX学习笔记
2021/05/18 Javascript
MongoDB数据库常用的10条操作命令
2021/06/18 MongoDB
redis sentinel监控高可用集群实现的配置步骤
2022/04/01 Redis