如何在vector首尾同时添加元素?

如何在vector首尾同时添加元素?,第1张

v.insert(v.begin(),elem) //在v的最前面添加一个元素

用例:

#include <vector>

int main(int argc, char* argv[])

{

vector<int>v

v.push_back(5)

v.push_back(6)

v.insert(v.begin(), 4)

for (unsigned int i = 0i <v.size()++i)

{

printf("%d ", v[i])

}

system("pause")

return 0

}

v.insert(pos,elem)

在pos位置插入一个elem拷贝,传回新数据位置。

v.insert(pos,n,elem)

在pos位置插入n个elem数据。无返回值。

v.insert(pos,beg,end)

在pos位置插入在[beg,end)区间的数据。无返回值。

1、可以从数组构造

比如int a[] = { 0,1,3,5,6,4,2.... }

vector<int>v( a, a + sizeof( a ) / sizeof( a[0] ) )

2、动态添加就只有用push_back了

可以用resize预置vector的容量,这样就能免除push_back由于空间超过默认分配的定量内存时而重分配更大的一块新空间并把原内容重新拷过去所带来的效率损失,vector内部自动维护了一块定量的内存,这个空间可以用capacity()方法查看。


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

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

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

发表评论

登录后才能评论

评论列表(0条)

保存