C将两个有序的数组合并成一个有序数组

2023-10-26

编写程序,分别输入两个按从小到大排序的数组 a 和 b,将这两个有序数组合并,使合并后的数组仍是从小到大有序的。

合并两个有序数组的方法:

  1. 有两个有序数组ab,其中数组a的末尾有足够的空间容纳数组b,将数组b容纳到数组a中。

  2. 创建一个新数组c,数组c的长度要大于等于数组ab之和。通过比较两个有序数组中的元素,谁小就把谁放到数组c中,直到其中一个数组为空,最后把剩下的数组元素全部放到数组c里。

测试输入:

10

10 15 42 52 59 64 67 73 82 88

3

24 32 57

输入说明: 第一行为n,表示输入数组an个整数。 第二行为从小到大的n个整数。 第三行为m,表示输入数组bm个整数。 第四行为从小到大的m个整数。

预期输出: 10 15 24 32 42 52 57 59 64 67 73 82 88

用第二种方法做:

#include<stdio.h>
#define N 20
int main()
{

	int a[N]={ 0 }, b[N]={ 0 };
	int i,j,k,anum,bnum,c[N+N];
	scanf("%d",&anum);   //输入数组a元素个数
	for(i=0;i<anum;i++)
	{
		scanf("%d",&a[i]);
	}
	scanf("%d",&bnum);   //输入数组b元素个数
	for(i=0;i<bnum;i++)
	{
		scanf("%d",&b[i]);
	}
	/***** 在数组a和b都有数据时比较两个数组 *****/
	/********** Begin *********/
	i=0,j=0,k=0;
    while(i<anum&&j<bnum)
    {
        if(a[i]>=b[j])
        {
            c[k]=b[j];k++;j++;
        }
        else
        {
            c[k]=a[i];k++;i++;
        }
    }
	/********** End **********/
	/***** 如果数组a还有数据 *****/
	/********** Begin *********/
	for(i;i<anum;i++)
    {
        c[k]=a[i];k++;
    }
	/********** End **********/

	/***** 如果数组b还有数据 *****/
	/********** Begin *********/
	for(j;j<bnum;j++)
    {
        c[k++]=b[j];
    }
	/********** End **********/
	/***** 输出数组c *****/
	/********** Begin *********/
	for(i=0;i<anum+bnum;i++)
    {
        printf ("%d ",c[i]); 
    }
	/********** End **********/	
	return 0;
}

运行结果:

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

C将两个有序的数组合并成一个有序数组 的相关文章

  • socket网络编程几大模型?看看CHAT是如何回复的?

    CHAT回复 网络编程中常见的有以下几种模型 1 阻塞I O模型 Blocking I O 传统的同步I O模型 一次只处理一个请求 2 非阻塞I O模型 Non blocking I O 应用程序轮询调用socket相关函数检查请求 不需
  • 什么是充放电振子理论?

    CHAT回复 充放电振子模型 Charging Reversal Oscillator Model 是一种解释ENSO现象的理论模型 这个模型把ENSO现象比喻成一个 热力学振荡系统 在这个模型中 ENSO现象由三个组成部分 充电 Char
  • 基于java的婴幼儿产品销售系统设计与实现

    基于java的婴幼儿产品销售系统设计与实现 I 引言 A 研究背景和动机 婴幼儿产品销售系统是针对婴幼儿家庭的产品销售平台 该系统的设计需要满足安全 便捷 高效等多个方面的要求 针对该系统 我们可以采用基于Java的Web框架搭建 主要分为
  • 软件测试|使用matplotlib绘制平行坐标系图

    简介 绘制平行坐标系图 Parallel Coordinates Plot 是一种用于可视化多维数据的强大方法 在这篇文章中 我们将介绍如何使用Matplotlib库创建平行坐标系图 以及如何解释和定制这种图表 我们将使用一个示例数据集来演
  • 软件测试|sqlalchemy relationship

    简介 SQLAlchemy是一个流行的Python ORM 对象关系映射 库 它允许我们以面向对象的方式管理数据库 在SQLAlchemy中 relationship 是一个重要的功能 用于建立表之间的关系 在本文中 我们将详细探讨 rel
  • 基于java的学生成绩在线管理系统设计与实现

    基于java的学生成绩在线管理系统设计与实现 I 引言 A 研究背景和动机 基于Java的学生成绩在线管理系统设计与实现的研究背景和动机是设计一个可以方便管理学生成绩的系统 该系统可以方便地记录学生的成绩 并为老师和学生提供查询和统计功能
  • 基于java的物流信息网系统设计与实现

    基于java的物流信息网系统设计与实现 I 引言 A 研究背景和动机 基于Java的物流信息网系统设计与实现的研究背景和动机 随着互联网的普及和电子商务的快速发展 物流信息网系统已成为现代物流管理的重要组成部分 物流信息网系统能够实现物流信
  • js中关于字符串的创建和判断类型

    文章目录 创建方法 判断类型的技巧 区分 1 typeof 2 instanceof 共点 1 Object prototype toSt
  • 华为OD机试真题-分披萨-2023年OD统一考试(C卷)

    题目描述 吃货 和 馋嘴 两人到披萨店点了一份铁盘 圆形 披萨 并嘱咐店员将披萨按放射状切成大小相同的偶数扇形小块 但是粗心服务员将披萨切成了每块大小都完全不同奇数块 且肉眼能分辨出大小 由于两人都想吃到最多的披萨 他们商量了一个他们认为公
  • 2024诸多大厂春招提前启动!Android的程序员还在等什么

    春招 提前批 已开 xdm别打瞌睡了 格力 顺丰 酷狗 沃尔玛中国 理想 科大讯飞等开启春招 开始收简历了 还有hc的企业提前抢人 春招时间短 节奏快 招满即止 就算挂了也绝不能不投 对企业来说 秋招和春招都是储备人才的黄金时期 春招中 除
  • 华为OD机试2024年最新题库(Java)

    我是一名软件开发培训机构老师 我的学生已经有上百人通过了华为OD机试 学生们每次考完试 会把题目拿出来一起交流分享 重要 2024年1月 5月 考的都是OD统一考试 C卷 题库已经整理好了 命中率95 以上 这个专栏使用 Java 解法 问
  • Android Navigation的四大要点你都知道吗?

    在JetPack中有一个组件是Navigation 顾名思义它是一个页面导航组件 相对于其他的第三方导航 不同的是它是专门为Fragment的页面管理所设计的 它对于单个Activity的App来说非常有用 因为以一个Activity为架构
  • 一台java服务器可以跑多少个线程?

    一台java服务器可以跑多少个线程 一台java服务器能跑多少个线程 这个问题来自一次线上报警如下图 超过了我们的配置阈值 打出jstack文件 通过IBM Thread and Monitor Dump Analyzer for Java
  • Hutool改变我们的coding方式(二)

    Hutool改变我们的coding方式 Hutool 简介 Hutool如何改变我们的coding方式 文档 安装 Maven
  • 计算机Java项目|学生成绩管理系统

    作者简介 Java领域优质创作者 CSDN博客专家 CSDN内容合伙人 掘金特邀作者 阿里云博客专家 51CTO特邀作者 多年架构师设计经验 腾讯课堂常驻讲师 主要内容 Java项目 Python项目 前端项目 人工智能与大数据 简历模板
  • 2024史上最全Java面试八股文(带全部答案)

    今天要谈的主题是关于求职 求职是在每个技术人员的生涯中都要经历多次 对于我们大部分人而言 在进入自己心仪的公司之前少不了准备工作 有一份全面细致 面试题 将帮助我们减少许多麻烦 在跳槽季来临之前 特地做这个系列的文章 一方面帮助自己巩固下基
  • 详解toLowerCase(判断字符串相等)

    一 toLowerCase 函数简介 toLowerCase 是一个在多个编程语言中都存在的字符串方法 它的作用是将字符串中的所有大写字母转换为对应的小写字母 常用于文本处理 搜索和比较等情况 以确保字符串的一致性和非大小写敏感的操作 二
  • 2024最强Java面试八股文合集(持续更新)

    今天要谈的主题是关于求职 求职是在每个技术人员的生涯中都要经历多次 对于我们大部分人而言 在进入自己心仪的公司之前少不了准备工作 有一份全面细致 面试题 将帮助我们减少许多麻烦 在跳槽季来临之前 特地做这个系列的文章 一方面帮助自己巩固下基
  • 软件测试/测试开发|给你剖析闭包与装饰器的魔力

    测试管理班是专门面向测试与质量管理人员的一门课程 通过提升从业人员的团队管理 项目管理 绩效管理 沟通管理等方面的能力 使测试管理人员可以更好的带领团队 项目以及公司获得更快的成长 提供 1v1 私教指导 BAT 级别的测试管理大咖量身打造
  • Java进阶之旅第七天

    Java进阶之旅第七天 文章目录 Java进阶之旅第七天 方法引用 介绍 代码展示 结果 方法引用的分类

随机推荐

  • 相机坐标系的正向投影和反向投影

    1 正向投影 世界坐标系到像素坐标系 世界3D坐标系 x y z 到图像像素坐标 u v 的映射过程 1 世界坐标系到相机坐标系的映射 两个坐标系的转换比较简单 就是旋转矩阵 平移矩阵 旋转矩阵则是绕X Y Z 轴旋转获得 R 属于世界坐标
  • 网络文件共享服务主流----FTP文件传输协议

    网络文件共享服务主流 FTP文件传输协议 ftp定义 ftp数据连接模式 ftp应用程序 vsftpd vsftpd虚拟用户配置 网络文件共享服务主流 FTP文件传输协议 ftp定义 文件传输协议 File Transfer Protoco
  • 用java实现拷贝目录以及目录下文件

    用java实现拷贝目录以及目录下文件 创建一个File对象 也可以说是确定一个文件对象 File f1 new File D file 就相当于获取了这个文件对象 不管这个对象是否真实存在 对文件操作 所以方法里调用的都是File对象 如果
  • 线性代数 --- 置换矩阵 (Permutation matrix)

    置换矩阵就是重新排列后的单位矩阵 对一个矩阵进行行交换 需要通过置换矩阵 permutation matrix 来完成 在对一个Ax b的方程组进行高斯消元的过程中 我们常常会遇到一种情况 也就是消元消不下去的情况 下面 我列出了两个不同的
  • win10下cmder加wsl的多终端配置使用

    win10下cmder加wsl的多终端配置使用 版本说明 版本 作者 日期 备注 0 1 ZY 2020 1 21 初稿 文章目录 win10下cmder加wsl的多终端配置使用 版本说明 一 初衷 二 cmder和wsl 1 cmder
  • Matlab 自相关检测 :自相关函数xcorr

    原文 http blog chinaunix net uid 26275986 id 4342906 html 最近因为工作的关系需要使用matlab作为数据统计的工具 其中一个关键是使用其自相关函数获得数据的估计 自己只在本科时候马马虎虎
  • 易优cms 模板制作教程

    易优cms静态页面编写需要导航条 新闻列表等页面内容信息 在制作模板的时候就用标签来代替 模板标签就是后台设置的数据 所以模板标签你必须得熟悉 你可以看看模板标签大全有哪些标签可以使用 也务必要完全理解本文内容 否则你将不知道怎么使用模板标
  • 免费截图标注贴图工具:Snipaste

    每一次看课 都很羡慕老师能把截图贴在屏幕上 然后能在贴图上写写画画 还不影响你执行其他的电脑操作 超级赞 最最重要的是 贴图功能很适合程序员进行代码比对 效果图比对等 官网下载 Snipaste 解压缩到同名文件夹即可 双击exe文件运行
  • C++ - if 、else、else_if 语句

    C 中的 if else if else 是非常基础的东西 这里需要知道一个东西 大括号 一定要是成对出现 格式为 if 判断语句 如果判断语句成立 运行 如果判断语句不成立 跳过 if 语句 else 如果判断语句不成立 运行 如果判断语
  • 渗透测试-SQL注入之宽字节注入

    SQL注入之宽字节注入 文章目录 SQL注入之宽字节注入 前言 一 什么是宽字节注入 二 宽字节注入获取数据库信息 1 宽字节注入方法 2 宽字节注入防御方法 总结 前言 一 什么是宽字节注入 宽字节是相对于ascII这样单字节而言的 像
  • 信息管理毕业设计 SSM的小区车位出租管理系统(源码+论文)

    文章目录 1 前言 2 实现效果 3 设计方案 4 最后 1 前言 这两年开始毕业设计和毕业答辩的要求和难度不断提升 传统的java web缺少创新和亮点 往往达不到毕业答辩的要求 这两年不断有学弟学妹告诉学长自己做的java web管理系
  • python中pandas库查看数据分布的基本用法

    1 最大值 最小值 平均值 如何在Python中查看pandas dataframe对象列的最大值 最小值 平均值 标准差 中值等 PandasDataFrame 中位数 Python统计大文本行数
  • 设置VLC播放器进行RTSP推流视频

    设置VLC播放器进行RTSP推流视频 一 推流与拉流概念 二 设置推流端 三 设置拉流端 播放端 VLC官网 https www videolan org 一 推流与拉流概念 首先 做几个名词解释 推流 指的是把采集阶段封包好的内容传输到服
  • Easyexcel 3.1.1版本动态表头样式

    需求 动态生成的表头 key value的形式 List
  • Qt中的表格控件QTableWidget是一个非常常用的UI组件

    Qt中的表格控件QTableWidget是一个非常常用的UI组件 它可以用于展示表格数据 并且还有一些便捷的API以及信号槽机制 非常适合初学者入手 本篇文章将会对QTableWidget的使用进行详细介绍 一 如何创建QTableWidg
  • QT 在Window下驱动HID设备

    QT使用HID设备 QT 在Window下驱动HID设备 准备源码 1 下载HID源码 2 解压 拷贝解压目录下的 3 拷贝解压目录下的 4 打开QT建立新工程 把刚准备的window目录的三个文件 5 在QT 配置 pro文件中的SOUR
  • (四)调整PID控制器参数的指南

    一 控制系统设计快速入门和环境 首先确定一下控制任务 快速 精准地控制 必要的稳定性 时域 上升时间 超调等 频域 带宽 阻尼比 然后明白控制系统特点 类积分器 开环稳定性 高度非线性 非最小相位 1 选择一个控制框架 比如说PID 当然也
  • Windows Server2012常见版本

    目录 常见版本 授权方式 常用功能模块介绍 Windows Server 2012这是Windows 8的服务器版本 并且是Windows Server 2008 R2的继任者 该操作系统已经在2012年8月1日完成编译RTM版 并且在20
  • IntelliJ IDEA:新建文件无法识别类型

    参考 https blog csdn net iningwei article details 106115169 总结 File gt Settings gt Editor gt File Types 右侧 Text 然后下面的窗口往下滑
  • C将两个有序的数组合并成一个有序数组

    编写程序 分别输入两个按从小到大排序的数组 a 和 b 将这两个有序数组合并 使合并后的数组仍是从小到大有序的 合并两个有序数组的方法 有两个有序数组a和b 其中数组a的末尾有足够的空间容纳数组b 将数组b容纳到数组a中 创建一个新数组c