PS

**

归并排序算法会把元素分成长度相同的两个子元素,当无法继续往下分时(也就是每个子元素中只有一个数据时),就对子元素进行排序。归并指的是把两个排好序的子元素合并成一个有序的元素。该操作会一直重复执行,直到所有子元素都归并为一个整体为止。总体来说就是拆分一组数字,一直拆分到只有一个数的时候再进行归并操作,也就是排序的操作。

  • 特点
    • 将一组元素分成两组长度相同的子元素
    • 分组元素直到只剩最后一个元素为止,再进行排序归并。

**

图解

给出 6、4、3、7、5、1、2这组数字。如下图

01
image.png
02
首先第一步,将元素序列对半分隔
image.png
03
然后再根据两组元素继续往下分。
image.png04
再根据生成的两组元素继续往下分,直到只有一个元素为止
image.png05
分隔完毕。下面就是对分隔后的元素进行合并排序操作。
image.png

归并和排序过程中小的值和大的值交换位置,小在前,大在后。

05
继续合并排序
image.png

此时合并到了最后一组元素,即对最后一组元素再进行最后的合并,并且排好顺序即可。

06
image.png