js实现冒泡排序和快速排序

2018-04-05  本文已影响12人  织雪纱奈

function bubbleSort(arr){ var i = j = 0; for(i; i<arr.length-1; i++)

      if(arr[j] > arr[j+1]){

        temp = arr[j]

        arr[j] = arr[j+1]

        arr[j+1] = temp

      }

    }

  }

  return arr

}

var dd = bubbleSort([0,1,4,3,2])

    // console.log(dd)

快速排序

function quickSort(arr){

//如果数组<=1,则直接返回

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

var pivotIndex=Math.floor(arr.length/2);

//找基准,并把基准从原数组删除

var pivot=arr.splice(pivotIndex,1)[0];

//定义左右数组 var left=[]; var right=[];

//比基准小的放在left,比基准大的放在

for(var i=0;i<arr.length;i++){

if(arr[i]<=pivot){

left.push(arr[i]);

}else{

right.push(arr[i]);

}

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

}

上一篇下一篇

猜你喜欢

热点阅读