17- 排序算法

67 阅读1分钟

一、快速排序

function quiker (arr) {
  let len = arr.length
  let left = [],
      right= []
  
  if(len <= 1) return arr
  // 原数组中删除一个元素 并返回该元素
  let current = arr.splice(Math.floor(len / 2),1)[0]
  
  arr.forEach(item => {
    if (current >= item){
      left.push(item)
    } else {
      right.push(item)
    }
  })
  return quiker(left).concat([current],quiker(right))
}