美文网首页
排序算法总结(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;
}

相关文章

  • iOS算法总结-堆排序

    iOS算法总结-堆排序 iOS算法总结-堆排序

  • iOS算法总结-冒泡排序

    iOS算法总结-冒泡排序 iOS算法总结-冒泡排序

  • 算法-排序算法总结

    排序类型总结 1 排序算法基础实现 2 排序算法应用 2.1 基础排序 2.2 计数排序应用 2.3 快排应用 2...

  • 十大排序算法总结

    排序算法的时间复杂度 排序的分类 1.冒泡排序(Bubble Sort) 好的,开始总结第一个排序算法,冒泡排序。...

  • 算法学习(1)-排序算法

    八大排序算法九大排序算法再总结[经典排序算法][集锦][直观学习排序算法] 视觉直观感受若干常用排序算法 快速排序...

  • 排序算法

    一、相关排序算法 1、IOS 经典排序算法总结:https://www.jianshu.com/p/ba57f02...

  • 面试常问的排序算法

    排序算法总结 排序是算法问题中的经典问题。为什么要总结排序算法呢?你懂的 : (假设所有的排序都是要求最终结果为:...

  • 浅谈排序算法

    排序算法有很多种,今天先谈谈一些简单的排序算法。包括桶排序、冒泡排序和快速排序算法。后期总结各种排序算法。 桶排序...

  • 算法总结

    算法总结 排序算法说明 (1)排序的定义:对一序列对象根据某个关键字进行排序; 输入:n个数:a1,a2,a3,....

  • 数据结构与算法-面试准备

    1、排序 冒泡排序,直接排序,插入排序十大经典排序算法最强总结 - hellozhxy的博客 - CSDN博客 快...

网友评论

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

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