EmberYu / vic-blog

9 stars 0 forks source link

各种排序算法 #9

Open EmberYu opened 5 years ago

EmberYu commented 5 years ago

冒泡排序

冒泡排序算是最好理解的

  1. 遍历数组,如果当前值大于下一个值,那么他们俩互换位置,那么第一次遍历结束后数组最后一个位置n的值为最大值
  2. 遍历数组,这次遍历长度为n-1,规则同上,则n-1为第二大值
  3. 依次类推,直到遍历长度为2 image

    插入排序

    插入排序类似打扑克牌,从摸到第二张牌开始,你会将它的正确位置插入到手里的牌中

  4. 从数组第二个位置开始,向前比较,找到当前位置的正确位置
  5. 依次类推,直到数组最后一个位置向前比较完毕 image

    选择排序

    选择排序的原理也比较简单。

  6. 遍历整个数组,找到当前最小值min,与第一个位置互换
  7. 以第二个数组为起点,找到当前最小值min,与第二个位置互换
  8. 以此循环,直到倒数第二个位置为起点,与最后一个位置比较 image

    归并排序

    image

    快速排序

    image