美文网首页
几种常见的排序

几种常见的排序

作者: 黄昏之前 | 来源:发表于2020-02-19 17:56 被阅读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);

      }

    }

    相关文章

      网友评论

          本文标题:几种常见的排序

          本文链接:https://www.haomeiwen.com/subject/mfuuvctx.html