c++如何把一个vector容器内容追加到;另一个容器后面

 我来答
在圆陀角踏青的香蜂花
推荐于2019-10-25 · TA获得超过3189个赞
知道答主
回答量:129
采纳率:66%
帮助的人:15.6万
展开全部

一般使用insert方法, 把insert的位置指向结尾位置(因为,insert是插在指定位置前面的)

std::vector<int> src;

std::vector<int> dest;

dest.insert(dest.end(), src.begin(), src.end());

扩展资料:

vector(向量): C++中的一种数据结构,确切的说是一个类

它相当于一个动态的数组,当程序员无法知道自己需要的数组的规模多大时,用其来解决问题可以达到最大节约空间的目的.

用法

1.文件包含:   

首先在程序开头处加上#include<vector>以包含所需要的类文件vector

还有一定要加上using namespace std;

2.变量声明:

2.1 例:声明一个int向量以替代一维的数组:vector <int> a;(等于声明了一个int数组a[],大小没有指定,可以动态的向里面添加删除)。

2.2 例:用vector代替二维数组.其实只要声明一个一维数组向量即可,而一个数组的名字其实代表的是它的首地址。

所以只要声明一个地址的向量即可,即:vector <int *> a.同理想用向量代替三维数组也是一样,vector <int**>a;再往上面依此类推.

参考资料:C++_百度百科

yihla5739
高粉答主

推荐于2019-08-21 · 每个回答都超有意思的
知道答主
回答量:149
采纳率:100%
帮助的人:4.6万
展开全部

代码如下:

std::vector<int> src;

std::vector<int> dest;

dest.insert(dest.end(), src.begin(), src.end());

插到其他位置同理,只需要改变第一个迭代器参数。


扩展资料:

编译 & 执行 C++ 程序方法:

1、打开vs2010,选择"visual c++开发设置",然后点击"启动Visual Studio"。

2、"Visual Studio"选择默认环境设置。

3、进入"Visual Studio"后点击新建项目。

4、在弹出窗口选择 Visual C++标签下的空项目,输入名称以及保存位置。

5、在左侧的"解决方案资源管理器"中,选择"源文件"右击,然后选择"添加"->"新建项"。

6、在弹出窗口中,选择"C++文件(.cpp)",输入文件名称,单击"添加"。

7、现在输入具体的代码,例如输入简单的Hello World程序。

8、依次单击"调试"->"开始执行(不调试)"或按Ctrl+F5开始运行。

本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
檀香透窗棂
高粉答主

推荐于2019-09-05 · 繁杂信息太多,你要学会辨别
知道小有建树答主
回答量:269
采纳率:100%
帮助的人:6.9万
展开全部

将一个vector(v1)复制到另一个vector(v2)中有两种方法:

1、v2 = v1;

2、v2.assign(v1.begin(), v1.end());

代码:

方法一:

vector <int> v;

v.push_back(1);

v.push_back(3);

v.push_back(5);

v.push_back(7);

v.push_back(9);

v.push_back(11);

方法二:

vector<vector<int> > Knot(30);

for (int i = 0; i < 30; i++)

Knot[i].resize(10);

for (int i = 0; i < 30; i++)

for (int j = 0; j < 10; j++)

Knot[i][j] = 1;

Knot[0].assign( v.begin(), v.end());    #方法二

//Knot[0] = v;    #方法一

for (vector<int>::iterator iter = Knot[0].begin(); iter != Knot[0].end(); iter++)

cout << *iter << endl;

cout << "size: " <<  Knot[0].size() << endl;

扩展资料

向量容器(vector)是一种顺序容器,是一块连续分配的内存,支持随机访问,从数据安排的角度看,和数组极其相似。

数组跟vector的区别在于:数组是静态分配空间,一旦分配了空间的大小,就不可以再改变了。

例如,int a[6];而vector是动态分配内存,随着元素的不断插入,它会按照自身的一套机制不断扩充自身的容量,vector容器的容量增长是按照容器现在容量的一倍进行增长。

begin函数:

函数原型:

iterator begin();

const_iterator begin();

功能:

返回一个当前vector容器中起始元素的迭代器。




本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友3b0158e
推荐于2017-09-29 · TA获得超过955个赞
知道小有建树答主
回答量:372
采纳率:100%
帮助的人:277万
展开全部

可以到cplusplus.com或cppreference.com查询vector的用法。

把一个容器加到另一个后面,可以用insert方法。

如:

#include <vector>
#include <iostream>
template <typename type> void printvector(std::vector<type> const &v, std::ostream &os = std::cout)
{
    for (typename std::vector<type>::size_type sz = 0; sz != v.size(); ++sz)
        os << v[sz] << " ";
    os << std::endl;
}
int main()
{
    int a[5] = {1, 2, 3, 4, 5};
    std::vector<int> v1(a, a + 3), v2(a + 3, a + 5);
    printvector(v1); // 结果是1 2 3
    printvector(v2); // 结果是4 5
    v1.insert(v1.end(), v2.begin(), v2.end()); // 把v2加到v1末尾
    printvector(v1); // 结果是1 2 3 4 5
    return 0;
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
flarie
推荐于2017-10-15 · 超过22用户采纳过TA的回答
知道答主
回答量:73
采纳率:0%
帮助的人:43万
展开全部
一般使用insert方法, 把insert的位置指向结尾位置(因为,insert是插在指定位置前面的)

std::vector<int> src;

std::vector<int> dest;
dest.insert(dest.end(), src.begin(), src.end());
本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(4)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式