两个有序数组合并

来源:登录—专业IT笔试面试备考平台_牛客网

问题描述: 

给定两个有序整数数组 A 和 B,将B合并到A中,使得 A 成为一个有序数组。 

说明: 

1. 初始化 A 和 B 的元素数量分别为 m 和 n。

2. A有足够的空间(空间大小大于或等于 m + n)来保存 B 中的元素。 

3. 默认升序。 

输入描述: 

1

2

3

4

数组A,以及数组A元素数量 

数组B,以及数组B元素数量 

A = [1,6,7,0,0,0], m = 3 

B = [2,4,6], n = 3 

输出描述: 

1

2

合并后的数组A 

A = [1,2,4,6,6,7]; 

输入样例:

1

2

3

m=2,n=2 

1,3 

2,4 

输出样例: 

1

1 2 3 4

python代码:

A=[1,6,7]
B=[2,4,6]
A=A+B
print("合并后的A:",A)
A.sort()
print("排序后的A:",A)

输出结果:

[1, 6, 7, 2, 4, 6]
[1, 2, 4, 6, 6, 7]

C++代码:


#include<iostream>
#include<vector>
#include<algorithm>
using namespace std;


int main()
{
	vector<int> listA{1,6,7};
	vector<int> listB{ 2,4,6 };
	//将B中的元素压到A中
	for (int i = 0; i < listB.size(); i++)
	{
		listA.push_back(listB[i]);

	}
	//打印拼接后的向量
	for (auto it = listA.begin(); it != listA.end(); it++)
	{
		cout << *it << " ";
	}
	cout << endl;
	//排序
	sort(listA.begin(), listA.end(),less<int>());
	for (auto it = listA.begin(); it != listA.end(); it++)
	{
		cout << *it << " ";
	}
	cout << endl;
}

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值