c++如何把一个vector容器内容追加到;另一个容器后面
一般使用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++_百度百科
代码如下:
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开始运行。
将一个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容器中起始元素的迭代器。
可以到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;
}
std::vector<int> src;
std::vector<int> dest;
dest.insert(dest.end(), src.begin(), src.end());