目录两个vector对象拼接merge函数合并两个vector合并两个vector两个vector对象拼接 今天刷LeetCode,需要将两个相同类型的vector拼接,发现不能像p
今天刷LeetCode,需要将两个相同类型的vector拼接,发现不能像python一样使用+号处理。
经过查阅资料,可以使用insert()函数。
class Solution {
public:
vector<vector<int>> subsets(vector<int>& nums) {
vector<vector<int>> res({100});
for (int n : nums) {
vector<vector<int>> temp;
for (auto r : res) {
r.push_back(n);
temp.push_back(r);
}
res.insert(res.end(), temp.begin(), temp.end());//从end()位置开始,将后面的vector拼接在后面(不包括temp.end())。
}
return res;
}
};
在完成合并两个vector的时候纠结这个合并操作如何实现,经过搜索后发现可以用c++ alGorithm的merge函数实现合并和排序这两个功能。
具体要求参照标准库.
https://cplusplus.com/reference/algorithm/merge/?kw=merge
#include<iOStream>
#include<algorithm>
#include <vector>
using namespace std;
int main()
{
vector<int> v1,v2;
int num1,num2;
cin>>num1;
while (num1!=-1)
{
v1.push_back(num1);
cin>>num1;
}
cin>>num2;
while(num2!=-1)
{
v2.push_back(num2);
cin>>num2;
}
vector<int> v3;
v3.resize(v1.size()+v2.size());
merge(v1.begin(), v1.end(), v2.begin(), v2.end(), v3.begin());
sort(v3.begin(),v3.end());
for(int i = 0;i<v3.size()-1;i++){
cout<<v3[i]<<" ";
}
cout<<v3[v3.size()-1];
}
以上为个人经验,希望能给大家一个参考,也希望大家多多支持编程网。
--结束END--
本文标题: C++两个vector对象拼接方式
本文链接: https://lsjlt.com/news/170869.html(转载时请注明来源链接)
有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341
2024-03-01
2024-03-01
2024-02-29
2024-02-29
2024-02-29
2024-02-29
2024-02-29
2024-02-29
2024-02-29
2024-02-29
回答
回答
回答
回答
回答
回答
回答
回答
回答
回答
0