JavaScript基础的排序方法

冒泡排序

function paixu(ArrayList) {
  var arr = ArrayList;
  for (var i = arr.length - 1; i >= 0 ; i--) {
    for (var j = 0; j < i; j ++) {
      if (arr[j] > arr[j + 1]) {
        var tem = arr[j]
        arr[j] = arr[j + 1]
        arr[j + 1] = tem
      }
    }
  }
   console.log(arr)
}
var arr = [7, 88, 4, 8, 66, 100, 77, 200, 67];
paixu(arr);

插入排序

function insertionSort(arr) {
  var len = arr.length;
  var preIndex, current;
  for (var i = 1; i < len; i++) {
    preIndex = i - 1;
    current = arr[i];
    while (preIndex >= 0 && arr[preIndex] > current){
      arr[preIndex + 1] = arr[preIndex];
      preIndex--;
    }
      arr[preIndex + 1] = current;
  }
  return arr;
}
var arr1 = [7, 88, 4, 8, 66, 100, 77, 200, 67];
console.log(insertionSort(arr1));

快速排序

function quickSort(arr) {
  if (arr.length == 0) {
    return arr;
  }
  let middIndex = Math.floor(arr.length / 2);
  let midd = arr.splice(middIndex, 1)[0];
  let left = [],
      right = [];
  for (let i = 0; i < arr.length; i++) {
    if (arr[i] > midd) {
      right.push(arr[i]);
    } else {
      left.push(arr[i]);
    }
  }
  return quickSort(left).concat(midd, quickSort(right));
}
let arr2 = [7, 88, 4, 8, 66, 100, 77, 200, 67];
console.log(quickSort(arr2));
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值