归并排序是一种分治思想下的排序算法:将待排序序列不断划分(一般是二分)为多个更小的序列,直至不可划分,然后使每个最小区间内部是有序的(最小区间一般只有一个数,自然是有序的),然后再逆着刚才的划分过程不断地将小区间合并为较大的区间(这里是整个算法实现排序的核心,主要的计算量之所在),最终逆过程结束后,排序完成。

具体如下图(图片来自百度百科):

我们不难看出,该算法是稳定的,也就是说:对于每一个排序阶段(对应于上图每一行),其中每一个子区间(对应于上图中的方框)中的数,在该阶段中不会跑到子区间外面去,这就使得如果一开始的的总的序列里含有相同的数,那么排完序之后他们之间的相对位置不会变,这是对稳定的一般解读。

但是,这种稳定的性质其实也可以用于求序列的逆序数。比如,在图中倒数第三行的4 10方框,与3 6方框,对于3这个数,前面方框中有两个比它大的数,即4 10,这两个数在他们的方框中无论顺序怎么变,这个框中比3大的数还是只有两个,对于6也是这样,前面方框中比它大的数无论顺序如何,只有一个10,于是后面的方框对于前面的方框求逆序数的过程就完成了,我们再求完2 8和5 7两个框的逆序数时,只需加上4 10和3 6的结果就可以了。同样,对于4 10,3 6框内部也可以在之前的过程中求出部分的结果,而且他们是可以累加的,累加到归并排序最后就是总序列的逆序数,这样算法便实现了。

这里贴一个链接,再不明白的仔细看一看链接里面讲的及其代码(重点是代码)就好了。
https://blog.csdn.net/morewindows/article/details/8029996