算法 - 合并两个有序数组成一个有序数组
Posted 割肉机
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了算法 - 合并两个有序数组成一个有序数组相关的知识,希望对你有一定的参考价值。
最近看到一个算法题目,觉得很有意义,就自己查资料,摸索着自己实现了代码,特记录一下。
题目:有两个数组a[]和b[],将它们合并成数组c[],需要c[]也是有序数组。
有两种实现思路:
1. 定义一个新数组,长度为两个数组长度之和,将两个数组都copy到新数组,然后排序。
2. 给两个数组分别定义一个下标,最大长度是数组长度减一,按位循环比较两个数组,较小元素的放入新数组,下标加一(注意,较大元素对应的下标不加一),直到某一个下标超过数组长度时退出循环,此时较短数组已经全部放入新数组,较长数组还有部分剩余,最后将剩下的部分元素放入新数组,大功告成。
第一种方式应该是大多数人想到的,也比较容易实现,下面主要来实现第二种方式。
代码如下:
以上是关于算法 - 合并两个有序数组成一个有序数组的主要内容,如果未能解决你的问题,请参考以下文章