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 相关文章推荐
漂亮的仿flash菜单,来自蓝色经典
Jun 26 Javascript
5 cool javascript apps
Mar 24 Javascript
JS的replace方法介绍
Oct 20 Javascript
在Ubuntu系统上安装Ghost博客平台的教程
Jun 17 Javascript
jquery实现轮播图效果
Feb 13 Javascript
Vue2学习笔记之请求数据交互vue-resource
Feb 23 Javascript
jquery中ajax请求后台数据成功后既不执行success也不执行error的完美解决方法
Dec 24 jQuery
JavaScript基础教程之如何实现一个简单的promise
Sep 11 Javascript
jquery实现购物车基本功能
Oct 25 jQuery
vue中get请求如何传递数组参数的方法示例
Nov 08 Javascript
Vue设置长时间未操作登录自动到期返回登录页
Jan 22 Javascript
解决vue init webpack 下载依赖卡住不动的问题
Nov 09 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
PHP实现数组递归转义的方法
2014/08/28 PHP
PHP函数积累总结
2019/03/19 PHP
PHP开发的文字水印,缩略图,图片水印实现类与用法示例
2019/04/12 PHP
Jquery调用webService远程访问出错的解决方法
2010/05/21 Javascript
ASP.NET中使用后端代码注册脚本 生成JQUERY-EASYUI的界面错位的解决方法
2010/06/12 Javascript
全面兼容的javascript时间格式化函数(比较实用)
2014/05/14 Javascript
js操作iframe父子窗体示例
2014/05/22 Javascript
JS按回车键实现登录的方法
2014/08/25 Javascript
手机号码,密码正则验证
2014/09/04 Javascript
JS获取浏览器语言动态加载JS文件示例代码
2014/10/31 Javascript
Node.js实现的简易网页抓取功能示例
2014/12/05 Javascript
JavaScript面向对象程序设计教程
2016/03/29 Javascript
使用JQuery选择HTML遍历函数的方法
2016/09/17 Javascript
jQuery+Ajax请求本地数据加载商品列表页并跳转详情页的实现方法
2017/07/12 jQuery
vue 解决addRoutes动态添加路由后刷新失效问题
2018/07/02 Javascript
D3.js 实现带伸缩时间轴拓扑图的示例代码
2020/01/20 Javascript
Vue实现仿iPhone悬浮球的示例代码
2020/03/13 Javascript
[01:56]无止竞 再出发——中国军团出征2017年DOTA2国际邀请赛
2017/07/05 DOTA
python创建进程fork用法
2015/06/04 Python
windows环境下tensorflow安装过程详解
2018/03/30 Python
Python unittest 简单实现参数化的方法
2018/11/30 Python
浅谈python常用程序算法
2019/03/22 Python
Python数据类型之String字符串实例详解
2019/05/08 Python
在django admin中添加自定义视图的例子
2019/07/26 Python
节日快乐! Python画一棵圣诞树送给你
2019/12/24 Python
Mac中PyCharm配置Anaconda环境的方法
2020/03/04 Python
Python如何根据时间序列数据作图
2020/05/12 Python
Everything But Water官网:美国泳装品牌
2019/03/17 全球购物
运动鞋、街头服装、手表和手袋的实时市场:StockX
2020/11/25 全球购物
资产评估专业大学生求职信
2013/09/29 职场文书
医学生求职自荐信
2013/10/25 职场文书
竞选班干部的演讲稿
2014/04/24 职场文书
2014年个人业务工作总结
2014/11/17 职场文书
写给妈妈的感谢信
2015/01/22 职场文书
青少年法制教育心得体会
2016/01/14 职场文书
大学毕业生自我鉴定范文
2019/06/21 职场文书