如何用JavaScript高效实现快速排序算法?

2026-06-10 06:292阅读0评论SEO基础
  • 内容介绍
  • 文章标签
  • 相关推荐

本文共计281个文字,预计阅读时间需要2分钟。

如何用JavaScript高效实现快速排序算法?

javascriptvar quickSort=function(arr) { if (arr.length <=1) return arr; var pivotIndex=Math.floor(arr.length / 2); var pivot=arr.splice(pivotIndex, 1)[0]; var left=[]; var right=[]; for (var i=0; i


var quickSort = function(arr) {
  if (arr.length <= 1) {//如果数组长度小于等于1无需判断直接返回即可
return arr;
}
  var pivotIndex = Math.floor(arr.length / 2);//取基准点
  var pivot = arr.splice(pivotIndex, 1)[0];//取基准点的值,splice(index,1)函数可以返回数组中被删除的那个数
  var left = [];//存放比基准点小的数组
  var right = [];//存放比基准点大的数组
  for (var i = 0; i < arr.length; i++){ //遍历数组,进行判断分配
    if (arr[i] < pivot) {
      left.push(arr[i]);//比基准点小的放在左边数组
    } else {
      right.push(arr[i]);//比基准点大的放在右边数组
    }
  }
//递归执行以上操作,对左右两个数组进行操作,直到数组长度为<=1;
  return quickSort(left).concat([pivot], quickSort(right));
};


如何用JavaScript高效实现快速排序算法?

本文共计281个文字,预计阅读时间需要2分钟。

如何用JavaScript高效实现快速排序算法?

javascriptvar quickSort=function(arr) { if (arr.length <=1) return arr; var pivotIndex=Math.floor(arr.length / 2); var pivot=arr.splice(pivotIndex, 1)[0]; var left=[]; var right=[]; for (var i=0; i


var quickSort = function(arr) {
  if (arr.length <= 1) {//如果数组长度小于等于1无需判断直接返回即可
return arr;
}
  var pivotIndex = Math.floor(arr.length / 2);//取基准点
  var pivot = arr.splice(pivotIndex, 1)[0];//取基准点的值,splice(index,1)函数可以返回数组中被删除的那个数
  var left = [];//存放比基准点小的数组
  var right = [];//存放比基准点大的数组
  for (var i = 0; i < arr.length; i++){ //遍历数组,进行判断分配
    if (arr[i] < pivot) {
      left.push(arr[i]);//比基准点小的放在左边数组
    } else {
      right.push(arr[i]);//比基准点大的放在右边数组
    }
  }
//递归执行以上操作,对左右两个数组进行操作,直到数组长度为<=1;
  return quickSort(left).concat([pivot], quickSort(right));
};


如何用JavaScript高效实现快速排序算法?