前面系列文章:        #算法基础#选择和插入排序        由快速排序到分治思想

 

归并排序也是分治思想的一个案例,他将一个数组分成两个数组,分别按上面的再次细分进行排序,这两个数组最后合并到一个数组内,并同时排序这就得到一个有序的归并数组。(归并实现代码有彩蛋哦)

如图

   

归并排序_归并排序

照例上代码:

1、排序方法  a为数组 i为数组开头 j为数组结尾

归并排序_归并排序_02

2、归并方法  传数组数组开头序数中间数数组结尾序数

归并排序_归并排序_03

判断大小

归并排序_归并排序_04

特性:

多索引稳定  时间复杂度NLogN  空间复杂度 N

 

使用场景及优缺点:

我们从他的特性可以推断出他的使用场景,归并排序和快速排序比起来更慢一点,但他的优点在于多索引的稳定性。

 

使用它的使用场景

1、银行大批量数据排序

2、Excel普通排序

等等