• 快速排序


    快速排序的思想很简单,三步完成:

    1. 在数组,挑出来一个元素,作为 pivot(基准)

    2. 所有小于等于pivot的元素,都放到left数组,所有大于pivot的元素,都放到right数组。

    3. left、right数组,不断重复第一步和第二步,直到数组中只剩下一个元素为止。

    javascript代码如下:

     1     var arr=[3,5,6,3,35,8,5,656,8,98,5,659,8,95,5,6,89,8,7,4,1] //定义一个名为arr的数组
     2 
     3 const set=arr=>{
     4   if(arr.length<=1) return arr //如果数组的长度小于等于1就直接返回
     5   let pivot= arr.splice(Math.ceil(arr.length/2),1)[0]//去中间的值为基准
     6   let right =[]; //定义right数组
     7   let left=[]; //定义 left数组
     8   arr.forEach(row=>row<=pivot ? left.push(row):right.push(row)) //forEach循环遍历,用三目运算符判断
     9   return [...set(left),pivot,...set(right)]//递归
    10 }
    11 console.log(set(arr))
  • 相关阅读:
    js在微信、微博、QQ、Safari唤起App的解决方案
    js根据ip自动获取地址(省市区)
    css行内省略号、垂直居中
    PAT1006
    PAT1005
    PAT1004
    PAT1003
    PAT1002
    PAT1001
    latex中的空格
  • 原文地址:https://www.cnblogs.com/yu-hailong/p/8427582.html
Copyright © 2020-2023  润新知