functionquickSort(arr) { if (arr.length <= 1) { return arr }
// 将第一个元素为基准元素 const pivot = arr[0] const left = [] const right = []
// 将小于基准的元素放入 left 数组,大于基准的元素放入 right 数组 for (let i = 1; i < arr.length; i++) { if (arr[i] < pivot) { left.push(arr[i]) } else { right.push(arr[i]) } }
functionquickSort(arr) { if (arr.length <= 1) { return arr }
// 选择任意元素为基准元素 const pivotIndex = Math.floor(Math.random() * arr.length) const pivot = arr[pivotIndex] const left = [] const right = []
// 将小于基准的元素放入 left 数组,大于基准的元素放入 right 数组 // 基准值是任意的,所以从 0 开始遍历,然后将基准值忽略即可 for (let i = 0; i < arr.length; i++) { if (i !== pivotIndex) { if (arr[i] < pivot) { left.push(arr[i]) } else { right.push(arr[i]) } } }