一、冒泡排序

var  arr=[22,1,33,19,77];

function  bubbleSort(arr){

  for(var i=0;i<arr.length-1;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]=arr[j];

      }

    }

}

  return arr;

}

console.log( bubbleSort(arr))

二、快速排序

var arr=[]

function quickSort(arr){

  for(var i=0;i<arr.length;i++){

    for(var j=i+1;j<arr.length;j++){

      if(arr[j]<arr[i]){

        var temp=arr[i];

        arr[i]=arr[j];

        arr[j]=temp;

      }

    }

  }

  return arr;

}

三、选择排序

var arr=[1,5,95,32,7,58,21];
function a(arr){
  for(var i=0;i<arr.length-1;i++){ 
    var temp,minIndedx;
    minIndedx=i;
    for(var j=i+1;j<arr.length;j++){
      if(arr[j]<arr[minIndedx]){
        minIndedx=j;
      }
    }
    temp=arr[i];
    arr[i]=arr[minIndedx];
    arr[minIndedx]=temp;
  }
  return arr;
}
console.log(a(arr))

四、插入排序

var arr=[7,5,6,23,44,6,5,35,2,4,8,32];
function a(arr){

  for(var i=1;i<arr.length;i++){
    var key=arr[i];
    var j=i-1;
    while(arr[j]>key){
      arr[j+1]=arr[j]
      j--
    }
    arr[j+1]=key
  }
return arr;
}
console.log(a(arr))

js中的排序方法的更多相关文章

  1. 关于js中sort()排序方法

    第一次写这个,算是记录自己的学习前端的一点点的历程吧.今天在做一个图片的随机排序遇到了一个问题,部分截图如下 我用的是json格式存储数组,想通过排序实现img数组中的内容升序或是降序发现用sort自 ...

  2. JavaScript -- 时光流逝(二):js中数组的方法

    JavaScript -- 知识点回顾篇(二):js中数组的方法 1. 数组 (1)定义数组,数组赋值 <script type="text/javascript"> ...

  3. js中的tostring()方法

    http://blog.sina.com.cn/s/blog_85c1dc100101bxgg.html js中的tostring()方法 (2013-11-12 11:07:43) 转载▼ 标签: ...

  4. 秒味课堂Angular js笔记------Angular js中的工具方法

    Angular js中的工具方法 angular.isArray angular.isDate angular.isDefined angular.isUndefined angular.isFunc ...

  5. JS中通过call方法实现继承

    原文:JS中通过call方法实现继承 讲解都写在注释里面了,有不对的地方请拍砖,谢谢! <html xmlns="http://www.w3.org/1999/xhtml"& ...

  6. jQuery与JS中的map()方法使用

    1.jquery中的map()方法 首先看一个简单的实例: $("p").append( $("input").map(function(){ return $ ...

  7. ASP.NET#使用母版时,如果要使用js中的getElementById()方法取得某个内容页的元素时要注意的问题

    当使用母版,要使用js中的getElementById()方法取得某个内容页的元素时,所选取的id并不是母版中内容页的id,而是在设计内容页时设定的id例子:母版页: ...... <head ...

  8. JS与OC交互,JS中调用OC方法(获取JSContext的方式)

    最近用到JS和OC原生方法调用的问题,查了许多资料都语焉不详,自己记录一下吧,如果有误欢迎联系我指出. JS中调用OC方法有三种方式: 1.通过获取JSContext的方式直接调用OC方法 2.通过继 ...

  9. JS中split使用方法和数组中元素的删除

    JS中split使用方法和数组中元素的删除 JS中split使用方法 <script language="javascript"> function spli(){ d ...

随机推荐

  1. 修改MyEclipse字体大小及颜色

    windows-->prefereces->General-->Appearance-->Colors and Fonts,在右边找到要修改的字体或背景,双击点Edit修改即可 ...

  2. atom编辑器安装插件报错。。

    Checking for native build tools failed gyp info it worked if it ends with ok gyp info using node-gyp ...

  3. logback使用注意点1

    logback中配置了springProfile(策略),因此在properties中只需要配置如下即可logging.config=./config/logback.xml //logback配置文 ...

  4. qss qt按钮自定义

  5. Elasticsearch学习笔记(十一)Mapping原理

    一.Mapping的功能作用 Mapping是定义如何存储和索引一个document及其所包含字段的过程. Mapping是index和type的元数据,每个type都有自己的一个mapping,决定 ...

  6. [vue开发记录]float label输入框

    上图: 组件代码: <!-- Created by Locke Ou on 2018/6/20. --> <template> <div> <div clas ...

  7. SQL行转列与列转行(转)

    原文: http://blog.csdn.net/jx_870915876/article/details/52403472 add by zhj: 本文是以MySQL为例说明的,但其实它适用于所有关 ...

  8. for里面是采用setInterval遍历二维数组,for循环到最后一个数的时候,才执行setInterval的问题解决

    点击播放看效果 <!doctype html> <html lang="en"> <head> <meta charset="U ...

  9. anaconda安装tensorflow报错 No module named 'tensorflow'解决方法(windows)

    这个错误的原因可能是,anaconda安装的python版本为3.7,现在tensorflow仅支持python 3.6   改变python版本:首先在命令行创建一个名为python36的环境,指定 ...

  10. C#博客目录

    基础加强 1.索引器 2.密闭类.静态类及扩展方法 3.值.引用类型及结构体 4.秒懂IL.CTS.CLS和CLR 5.装箱与拆箱 6.引用相等与运算符重载 7.ref与out 8.委托和事件 9.对 ...