博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
两个有序数列的合并
阅读量:4562 次
发布时间:2019-06-08

本文共 1651 字,大约阅读时间需要 5 分钟。

问题:a[]、b[]分别为有序排列的一个数组。现在要将a[]、b[]合并为c[]。例如:a[] = {1,3,4,7,10,15}; b[] = {2,5,8,20},我们需要得到的c[] = {1,2,3,4,5,7,8,10,15,20}.

解决思路:1)先比较a[0]和b[0],如果a[0]相对较小,将a[0]的值赋值给c[0],然后比较a[1]和b[0]。2)当其中一个数组里的值已经全部赋值给了c[],那么直接将另外一个数组剩下的元素一次性赋予给c[]。

下面用java实现。

public class Test {    public static void main(String[] args) {        int[] a = {10,20,50,70,80,500,1001};        int[] b = {10,40,60,90,100,120,200};                int aLength = a.length;        int bLength = b.length;                int[] c = new int[aLength + bLength];                int aIndex = 0;        int bIndex = 0;                for(int i = 0; i < aLength + bLength; i++) {            if(a[aIndex] <= b[bIndex]) {                c[i] = a[aIndex];                if(aIndex < aLength - 1 ) {                    aIndex++;                }                //当数组a的数据已经全部读取完毕时                else {                    for(int t = i + 1; t < aLength + bLength; t++) {                        c[t] = b[bIndex];                        bIndex++;                    }                    break;                }            }            else {                c[i] = b[bIndex];                if(bIndex < bLength - 1 ) {                    bIndex++;                }                //当数组b的数据已经全部读取完毕时                else {                    for(int t = i + 1; t < aLength + bLength; t++) {                        c[t] = a[aIndex];                        aIndex++;                    }                    break;                }            }        }        for(int i = 0;i < aLength + bLength; i++) {            System.out.println(c[i]);        }    }}

 

转载于:https://www.cnblogs.com/hushunfeng/p/3918947.html

你可能感兴趣的文章
KMP模板
查看>>
luogu 1314 聪明的质检员
查看>>
[转载]求职者防骗必读!楼主亲身经历告诉你岗前培训多么不靠谱而且违法!
查看>>
Hibernate内存溢出分析一例
查看>>
基于Axis1.4的webservice接口开发(接口调用)
查看>>
Hive内置函数详解
查看>>
【转】MyEclipse快捷键大全
查看>>
IT职业技能图谱10--Hadoop家族技能图谱
查看>>
Java - 反射(1)
查看>>
控制台中显示执行的Sql语句
查看>>
Linux(Centos7)下搭建SVN服务器
查看>>
安卓开发的Tasks and Back Stack
查看>>
Ansi,UTF8,Unicode编码
查看>>
原子变量的性能问题
查看>>
Sybase PowerDesigner 15.0 完美版+特别文件
查看>>
快速傅立叶之二
查看>>
cetos 6.3 安装 apache+mysql+php
查看>>
js编写简单的贪吃蛇游戏
查看>>
2018/12/01 一个64位操作系统的实现 第四章 导入kernel.bin(4)
查看>>
如何在windows xp professional安装iis的解决方法
查看>>