几种常见的排序

2020-02-19  本文已影响0人  黄昏之前

大家好,我是猿二哥,今天我想和大家一起分享一下我最近的学习数据结构的心得,那好现在咱们从最简单的数据结构的排序算法开始。

今天呢要学习的排序算法主要有冒泡排序,选择排序和插入排序

啥也不说先上代码 ->冒泡排序

let arr = [3, 2, 4, 5, 1, 6, 7, 9, 8];

bubbleSort(arr);

function bubbleSort(arr) {

  let len = arr.length;

  for (let i = 0; i < len - 1; i++) {

    //这里之所以要减去1是因为length 长度是9,下标是从0开始的

    for (let j = 0; j < len - 1 - i; j++) {

      //去掉前面已经确定好的数字

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

        let temp = arr[j + 1];

        arr[j + 1] = arr[j];

        arr[j] = temp;

      }

      console.log(arr);

    }

  }

}

啥也不说先上代码 ->选择排序

选择排序的算法是,以此拿一个最小的数去比较数组后面的数,谁小谁就交换下标

function selectSort(arr) {

  let len = arr.length;

  let minIndex;

  for (let i = 0; i < len - 1; i++) {

    minIndex = i;

    for (let j = i + 1; j < len; j++) {

      if (arr[j] < arr[minIndex]) {

        minIndex = j;

      }

    }

    let temp = arr[i];

    arr[i] = arr[minIndex];

    arr[minIndex] = temp;

    console.log(arr);

  }

}

啥也不说先上代码 ->插入排序

function insertSort(arr) {

  let len = arr.length;

  let preIndex, current;

  for (let i = 0; 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;

    console.log(arr);

  }

}

上一篇下一篇

猜你喜欢

热点阅读