美文网首页
排序算法总结(1)

排序算法总结(1)

作者: chuaa | 来源:发表于2018-08-10 11:16 被阅读0次

    1. 冒泡排序

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

    2. 选择排序

    function selectSort(arr) {
      for (let i = 0,len = arr.length; i < len; i++) {
        let minIndex = i;
        for (let j = i+1; j < len; j++) {
          if (arr[minIndex] > arr[j]) {
            minIndex = j;
          }
        }
        [arr[minIndex],arr[i]]=[arr[i],arr[minIndex]];
      }
      return arr;
    }
    

    3. 插入排序

    function insertSort(arr) {
      for (let i = 1, len = arr.length; i < len; i++) {
        for (let j = i; j > 0; j--) {
          if (arr[j] < arr[j - 1]) {
            [arr[j], arr[j - 1]] = [arr[j - 1], arr[j]];
          } else {
            break;
          }
        }
      }
      return arr;
    }
    

    3.1 插入排序的改进(用赋值代替交换)

    function insertSort2(arr) {
      for (let i = 1, len = arr.length; i < len; i++) {
        let temp = arr[i];
        let j;
        for (j = i; j > 0; j--) {
          if (temp < arr[j - 1]) {
            arr[j] = arr[j - 1];
          } else {
            break;
          }
        }
        arr[j] = temp;
      }
      return arr;
    }
    

    相关文章

      网友评论

          本文标题:排序算法总结(1)

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