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 相关文章推荐
jquery实现奇偶行赋值不同css值
Feb 17 Javascript
使用jQuery制作基础的Web图片轮播效果
Apr 22 Javascript
JavaScript禁止复制与粘贴的实现代码
May 16 Javascript
JS基础随笔(菜鸟必看篇)
Jul 13 Javascript
Listloading.js移动端上拉下拉刷新组件
Aug 04 Javascript
AngularJs Modules详解及示例代码
Sep 01 Javascript
使用jquery.qrcode.js生成二维码插件
Oct 17 Javascript
Angular4的输入属性与输出属性实例详解
Nov 29 Javascript
Node.js 使用jade模板引擎的示例
May 11 Javascript
小程序图片剪裁加旋转的示例代码
Jul 10 Javascript
解决Layui中templet中a的onclick参数传递的问题
Sep 20 Javascript
JS async 函数的含义和用法实例总结
Apr 08 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
成本8450万,票房仅2亿,口碑两极分化,又一部DC电影扑街了
2020/04/09 欧美动漫
php截取字符串函数substr,iconv_substr,mb_substr示例以及优劣分析
2014/06/10 PHP
PHP中使用TCPDF生成PDF文档实例
2014/07/01 PHP
PHP伪静态Rewrite设置之APACHE篇
2014/07/30 PHP
yii2.0整合阿里云oss的示例代码
2017/09/19 PHP
PHP设计模式(八)装饰器模式Decorator实例详解【结构型】
2020/05/02 PHP
document.getElementById介绍
2011/09/13 Javascript
获取服务器传来的数据 用JS去空格的正则表达式
2012/03/26 Javascript
无闪烁更新网页内容JS实现
2013/12/19 Javascript
JavaScript避免代码的重复执行经验技巧分享
2014/04/17 Javascript
轻松创建nodejs服务器(2):nodejs服务器的构成分析
2014/12/18 NodeJs
jQuery学习笔记之jQuery+CSS3的浏览器兼容性
2015/01/19 Javascript
一个例子轻松学会Vue.js
2017/01/02 Javascript
js/jq仿window文件夹框选操作插件
2017/03/08 Javascript
微信JSAPI Ticket接口签名详解
2020/06/28 Javascript
详解jQuery中的isPlainObject()使用方法
2018/02/27 jQuery
vue仿element实现分页器效果
2018/09/13 Javascript
js比较两个单独的数组或对象是否相等的实例代码
2019/04/28 Javascript
Vue调用后端java接口的实例代码
2019/10/28 Javascript
element中的$confirm的使用
2020/04/26 Javascript
python实现根据窗口标题调用窗口的方法
2015/03/13 Python
Python 对象中的数据类型
2017/05/13 Python
深入分析python数据挖掘 Json结构分析
2018/04/21 Python
用Python一键搭建Http服务器的方法
2018/06/01 Python
python关于矩阵重复赋值覆盖问题的解决方法
2019/07/19 Python
Python自动生成代码 使用tkinter图形化操作并生成代码框架
2019/09/18 Python
使用Keras建立模型并训练等一系列操作方式
2020/07/02 Python
Python通用唯一标识符uuid模块使用案例
2020/09/10 Python
python实现图像随机裁剪的示例代码
2020/12/10 Python
CSS3 Pie工具推荐--让IE6-8支持一些优秀的CSS3特性
2014/09/02 HTML / CSS
海淘母婴商城:国际妈咪
2016/07/23 全球购物
Free People中国官网:波西米亚风格女装服饰
2016/08/30 全球购物
瑞典时尚耳机品牌:Urbanears
2017/07/26 全球购物
教师专业理论水平的自我评价分享
2013/11/09 职场文书
公务员培训心得体会
2013/12/28 职场文书
群众路线教育实践活动方案
2014/10/31 职场文书