美文网首页
js排序算法

js排序算法

作者: allen_tian | 来源:发表于2020-10-08 17:56 被阅读0次
let a = [3,2,4,8,423,455,22,32423,98] // 都来排我

1、冒泡排序

原理:两两对比,大的去右边

function sortBubble (arr) {
  // 要排arr.length轮,每轮排序把当前参与排序的数中最大的数放到最右边,每个下一轮排序的个数都会比上一轮减少一个
  for (let i = 0; i < arr.length; i++) { // 外层控制轮数
    for (let j = 0; j < arr.length - i; j++) { // 内层控制相邻两个数比较
      if (arr[j] > arr[j+1]) {
        let temp = arr[j]
        arr[j] = arr[j+1]
        arr[j+1] = temp
      }
    }
  }
  return arr
}

2、选择排序

原理:依次拿一个数与余下的每个数对比,小的放最前面

function sortChoose (arr) {
  // 依次拿第一个数与后面的每个数对比,最小的放在最前面,之后再从第二个数开始,以此类推
  for (let i = 0; i < arr.length; i++) { // 拿的未排序数组最前面的数
    for (let j = i + 1; j < arr.length; j++) { // 遍历与最前面的数对比的余下数
      if (arr[i] > arr[j]) {
          let temp = arr[i]
          arr[i] = arr[j]
          arr[j] = temp
      }
    }
  }
  return arr
}

3、插入排序

原理:依次把要排序的元素拿到一个新的数组中,每拿来一个元素都把新数组从后向前遍历对比,找到新数组中第一个小于拿来的元素的位置,把拿来的元素插入到第一个小于的元素后面

function sortInsert (arr) {
  let sortArr = [arr[0]]
  for (let i = 1; i < arr.length; i++) {
    sortArr[sortArr.length] = arr[i]
    for (let j = sortArr.length - 1; j >= 0; j--) {
      if (sortArr[j+1] < sortArr[j]) {
        let temp = sortArr[j+1]
        sortArr[j+1] = sortArr[j]
        sortArr[j] = temp
      }
    } 
  }
  return sortArr
}

感觉插入排序包含了冒泡排序

相关文章

  • 排序算法

    JS里排序算法的写法:

  • JS中可能用得到的全部的排序算法

    本篇有7k+字, 系统梳理了js中排序算法相关的知识, 希望您能喜欢. 原文:JS中可能用得到的全部的排序算法 导...

  • 数组的排序算法的实现

    数组的排序算法 关于排序算法请看这篇文章。本文尝试使用js来实现一部分简单的算法。 选择排序 思路:若要从小到大排...

  • JS算法——排序算法

    一:冒泡排序 冒泡排序(Bubble Sort)也是一种简单直观的排序算法。它重复地走访过要排序的数列,一次比较两...

  • 排序算法

    https://www.cnblogs.com/beli/p/6297741.html js十大排序算法:冒泡排序...

  • js排序算法

    冒泡排序 冒泡排序就是用数组中第一个值和所有值进行比较,选出最大的值放到数组最后。下一次遍历的时候就不需遍历最后一...

  • js 排序算法

  • JS排序算法

    冒泡排序: vararray = [{"name":"aa",index:100},{"name":"aa",in...

  • JS排序算法

    冒泡排序 1.依次比较相邻的两个数,如果第一个比第二个小,不变。如果第一个比第二个大,调换顺序。一轮下来,最后一个...

  • 排序算法-JS

    冒泡排序 基本思路: 1.依次比较相邻的两个数,如果第一个比第二个小,不变。如果第一个比第二个大,调换顺序。一轮下...

网友评论

      本文标题:js排序算法

      本文链接:https://www.haomeiwen.com/subject/zbpwohtx.html