详解JS中的快速排序与冒泡

原创 2017-01-14 11:04:54 425
摘要:本文主要介绍了快速排序思想与冒泡排序思想。1.快速排序思想:  1.1 先找数组的最中间的一个数为基准  1.2 把数组通过此基准分为小于基准的left数组和大于基准的right数组,  1.3 递归重复上面的两个步骤,代码如下:function quickSort(arr) {   if (arr.length <=1 

本文主要介绍了快速排序思想与冒泡排序思想。

1.快速排序思想:

  1.1 先找数组的最中间的一个数为基准

  1.2 把数组通过此基准分为小于基准的left数组和大于基准的right数组,

  1.3 递归重复上面的两个步骤,

代码如下:

function quickSort(arr) {
  if (arr.length <=1 ){
    return arr;
  }
  var middleIndex = Math.floor(arr.length / 2);
  var left = [];
  var right = [];
  var middle = arr.splice(middleIndex,1)[0];
  for (var i = 0; i < arr.length; i++) {
    if ( arr[i] > middle) {
      right.push(arr[i]);
    } else {
      left.push(arr[i]);
    }
  }
  return quickSort(left).concat(middle,quickSort(right));
}

2. 冒泡排序思想:

  2.1 两两比较,交换位置

  2.2 循环数组

代码如下:

function bubbleSort(arr) {
  for (var i = 0; i < arr.length - 1; i++) {
    for (var j = 0; j < arr.length -1 -i; j++) {
      if( arr[j] > arr[j+1]){
        var temp = arr[j];
        arr[j] = arr[j+1];
        arr[j+1] = temp;
      }
    }
  }
  return arr;
}

  更多关于详解JS中的快速排序与冒泡请关注PHP中文网(www.php.cn)其他文章!   


发布手记

热门词条