c++ 向量合并和排序

Problem Description
建立两个int类型的向量,利用merge算法将其合并,再用sort算法对合并后的向量排序。
函数mergeVector把向量v1、v2合并到向量v3中。
函数sortVector把向量v中元素排序。
函数printVector把向量v中元素输出。
MyPrint是函数对象结构体。
//你的代码将嵌在这里
void input(int* p, int n)
{
for (size_t i = 0; i < n; i++)
{
cin >> p[i];
}
}
int main()
{
int n=0,m=0;
cin >> n>>m;
int* pa=new int[n];
int* pb=new int[m];

input(pa, n);
input(pb, m);    

vector<int> v1(pa, pa + n), v2(pb, pb + m), v3;
v3.resize(v1.size()+v2.size());

sortVector(v1);
sortVector(v2);

mergeVector(v1, v2, v3);
printVector(v3, myPrint);
cout << endl;

delete[] pa; delete[] pb;

return 0;

}

Input Description
第1行是2个数组元素的个数
第2行是第一个数组各元素的值
第3行是第二个数组各元素的值
Output Description
第一个数组各元素与第二个数组各元素合并后,第三个数组各元素的值
Sample Input
4 5
1 3 2 5
8 1 4 7 6
Sample Output
1 1 2 3 4 5 6 7 8

#include <iostream>
using namespace std;
#include <vector>//向量容器vector头文件
#include<algorithm>//C++的标准算法库
struct MyPrint
{
   
    vector<int> p;//创建结构体MyPrint  vector<int>类型成员p  对象myPrint
}myPrint;

void sortVector(vector<int> 
  • 3
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值