【C/C++】将二个有序数组合并
1、同时循环取2个数组中的数,比较2个数组的第1个数,谁小把谁放入新数组;
2、再把数字小的数组往后继续取数字;
3、如果有数组遍历完,就把另一个数组的剩余数据全部赋给新数组即可。
代码如下:
#include <iostream>
using namespace std;void mergeSort(int *a, int m, int *b, int n, int *c)
{int i,j,k;i=0; j=0;k = 0;while (i<m && j<n){if (a[i]<b[j]){c[k++] = a[i++];}else {c[k++] = b[j++];}}while(i<m){c[k++] = a[i++];}while(j<n){c[k++] = b[j++];}
}
int main()
{int a[6] = {1,4,7,8,9,15};int b[7] = {0,2,3,6,10,11,17};int c[13];mergeSort(a, 6, b, 7, c);for(int num = 0; num<13; num++){cout<<c[num]<<",";}cout<<endl;cin.get();return 0;
}
【C/C++】将二个有序数组合并相关推荐
- 两个或多个有序数组合并为一个有序数组
要求: 不使用for循环 不使用API方法进行数据迁移 : System.arraycopy(int[] a,-); Arrays.copyOf(int[] a,-); 一.两个有序数组合并为一个有序 ...
- ZZULIOJ 1124: 两个有序数组合并
两个有序数组合并 题目描述 已知数组a中有m个按升序序排列的元素,数组b中有n个降序排列的元素,编程将a与b中的所有元素按降序存入数组c中. 输入 输入有两行,第一行首先是一个正整数m,然后是m个整数 ...
- 用c语言编写两个有序数组合并,C++实现两个有序数组的合并
本文实例为大家分享了C++实现两个有序数组合并的具体代码,供大家参考,具体内容如下 剑指offer面试题5延展题: 问题:有两个排序的数组A1和A2,内存在A1的末尾有足够多的空间容纳A2.请实现一个 ...
- 空间复杂度分段分段有序数组合并成有序(空间复杂度为O(1))
查了好多资料,发现还是不全,干脆自己整理吧,至少保证在我的做法正确的,以免误导读者,也是给自己做个记录吧! 标题描述: 数组A,长度为n,其中A[0, m-1] 和 A[m, n-1],都分别有序.将 ...
- 有序数组合并及等长数组对位穿插
将两个本身有序的数组合并为一个新的数组的方法 const arr1 = [11,15,18,23,26],arr2 = [11,19,21,25,27];let mergeTwoArr = (arr1 ...
- 将两个有序数组合并成一个有序数组
将两个有序数组按从小到大顺序合并成一个数组. #include<iostream> using namespace std; int main() {int a[5]={1,5,6,8,9 ...
- 两种思路将Python中两个有序数组合并为一个有序数组
第一种思路: 把两个数组合为一个数组然后再排序,问题又回归到冒泡和快排了,没有用到两个数组的有序性. 第二种思路: 循环比较两个有序数组头位元素的大小,并把头元素放到新数组中,从老数组中删掉,直到其中 ...
- this.$set 更新整个数组_学点算法(二)——有序数组二分搜索算法
成功与失败 今天来学习一下二分搜索算法.二分搜索算法针对有序数组,如果数组乱序,则无法使用二分搜索法. 先来看一下二分搜索算法的运行原理: 判断区间是否有效,无效区间则退出循环. 取待查找区间的中间位 ...
- 1124: 两个有序数组合并
Description 已知数组a中有m个按升序序排列的元素,数组b中有n个降序排列的元素,编程将a与b中的所有元素按降序存入数组c中. Input 输入有两行,第一行首先是一个正整数m,然后是m个整 ...
最新文章
- linux下执行shell脚本文件,Linux下使用shell脚本自动执行脚本文件
- Set集合存储元素不重复的原理
- 导出Oracle数据库用户Procedure和Function为文本文件的小工具
- PCM复用设备的安装和使用注意事项
- Linux系统:Centos7下搭建ClickHouse列式存储数据库
- python如何画曲线图_如何使用python画曲线图
- lxcfs容器隔离技术实现原理分析之loadavg、cpuonline
- 深入分析Nginx 502 Bad Gateway和Nginx 504 Gateway Time-out
- CodeForces round 753 problem A Linear Keyboard(线性键盘)
- go有没有php的array,实现类似php的array_column方法
- WCF 项目应用连载[8] - 绑定、服务、行为 大数据传输与限流 - 下 (ServiceThrottlingAttribute)...
- hackerrank Java Data Structures
- c++语言“case”,C++ switch case详解
- inno setup 初次使用
- matlab虚数求模,matlab计算带有复数的函数,最后求复数函数的模,结果里面却有...
- c语言编程一对新出生的兔子,C语言 有一对兔子。从出生后第三个月起每个月都生一对兔子,小兔子长到三个月后又生一对小兔子,假如兔子都不死,问每个月的兔子总数为多少。...
- C++[缺省参数]的理解
- Linux_ubuntu系统安装Flash插件
- NEON指令优化指南学习之一
- 中国5G产业发展的五大优势
热门文章
- Linux 初始root密码设置
- asp.net html5 异步,asp.net core 系列 5 项目实战之:NetCore 的 async 和 await(参考自:Microsoft教程)...
- java要从数据查出五百多万条数据_100w条数据 | 插入Mysql你要用多长时间?
- 给数组里面的对象添加一个新的数据
- 数据结构实验之二叉树二:遍历二叉树
- JavaSE入门学习50:多线程编程(一)
- Java ArrayList的不同排序方法
- 用MXnet实战深度学习之一:安装GPU版mxnet并跑一个MNIST手写数字识别 (zz)
- 程序员面试题精选100题(42)-旋转数组的最小元素[算法]
- 计算机视觉方面2016年重要会议deadline