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

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

一般使用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++_百度百科

大致有一下几种方法实现用于把一个vector赋值给另一个vector:

方法1:

vector<int > v1(v2)//声明

方法2:使用swap进行赋值:

vector<int > v1()v1.swap(v2)//将v2赋值给v1,此时v2变成了v1

方法3:使用函数assign进行赋值:

vector<int > v1//声明v1

v1.assign(v2.begin(), v2.end())//将v2赋值给v1

方法4:使用循环语句赋值,效率较差

vector<int >::iterator it//声明迭代器

for(it = v2.begin()it!=v2.end()++it){//遍历v2,赋值给v1

     v1.push_back(it)

}

vector是同一种类型的对象的集合,每个对象都有一个对应的整数索引值。和string对象一样,标准库负责管理存储元素的相关内存。

容器用来存储数据的,数据可以是用户自定义类型(对象),也可以是预定义类型。c++中的容器主要使用如vector,list(顺序容器)这些都是已经封装好了的,包含头文件"vector","list",通过迭代器iterator访问容器中的数据,map,set(关联容器),关联容器map键值对形式出现key-value,key唯一,mutimap多映射可以不唯一;set是一个单一值的集合,如1,2,3,4。

和其他变量定义一样,定义vector对象要指定类型和一个变量的列表。上面的第一个定义,类型是vector<int>,该类型即是含有若干int类型对象的vector,变量名为ivec。第二个定义的变量名是Sales_vec,它所保存的元素是Sales_item类型的对象。

vector容器的特点:在内存中是一片连续的存储区域,初始化的时候,可以指定容量,比如如果定义容量50的容器存储60个string对象,由于初始容量不足60,容器将会重新定义一个容量是原来的2倍新容器,然后拷贝原容器的对象到新容器.读取速度快,插入删除效率低.如果仅仅在容器头或尾部进行增删改,推荐使用deque,专门提供了对首尾的 *** 作。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/bake/11354855.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-15
下一篇 2023-05-15

发表评论

登录后才能评论

评论列表(0条)

保存