归并排序2_C

这几天开始看算法导论。对归并排序的解释,对我来说又新的认识。

首先假设这里有两个数组:                                               
A

157911
 

B

2

4

6

12

14

 

现在将A 和 B  合并到数组 C 中(C大小为10)

那么我们可以使用插入排序,声明两个指针(数组下标表示),对数组A与B比较,如果A当前值小于B,将A当前值赋给C

A往下移一位,C往下移一位,反之亦然。

图:

157911

2

4

6

12

14

 

1         

 

-----------------------------------------------------------------------------

 

157911

2

4

6

12

14

 

12        

-----------------------------------------------------------------------------

157911

2

4

6

12

14

 

124       

------------------------------------------------------------------------------

最后结果:

 

1245679111214

 

以上要求A,B是有序数组

假如 操作的数组大小为 1   时,那么我们可以看作A,B已经有序。

而归并思想就是这样,从大小为1时,排序生成大小为2的数组,在将大小为2的数组排序生成大小为4的数组。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值