js中如何实现快速排序789?

新手上路,请多包涵

js中如何实现快速排序?guolguul都不会放

阅读 684
2 个回答

js中的排序方法有很多,我推荐你试试Array.prototype.sort()这个api呢。

const numbers = [7,9,3,1,5,123,456,789];
const arr = numbers.sort((a, b) => a - b);
console.log(arr ); 

新手上路,请多包涵

要在JavaScript中实现快速排序算法,可以按照以下步骤进行:

创建一个函数来实现快速排序算法。
选择一个基准元素(pivot)作为比较的标准。
将数组分成两个子数组,一个包含比基准元素小的值,另一个包含比基准元素大的值。
对这两个子数组递归地应用快速排序算法,直到子数组的长度为1或0。
合并排序后的子数组,得到最终的排序结果。

function quickSort(arr) {
  if (arr.length <= 1) {
  return arr;
  }

  const pivot = arr[Math.floor(arr.length / 2)];
  const left = [];
  const right = [];

  for (let i = 0; i < arr.length; i++) {
  if (arr[i] < pivot) {
    left.push(arr[i]);
  } else if (arr[i] > pivot) {
    right.push(arr[i]);
  }
  }

  return [...quickSort(left), pivot, ...quickSort(right)];
}

const arr = [7, 8, 9];
const sortedArr = quickSort(arr);
console.log(sortedArr); // 输出 [7, 8, 9]
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题