永发信息网

vector怎么添加元素

答案:2  悬赏:60  手机版
解决时间 2021-04-21 21:14
定义一个vector v;怎么向其中添加无序数组。比如要添加一组数0,1,3,5,6,4,2,……个数确定,数却没有顺序。除了多次调用push_back()之外还有别的高效的方法吗?因为当数的个数多的时候调用puh_back()显然效率不高。
最佳答案
你可以从数组构造
比如int a[] = { 0,1,3,5,6,4,2.... };
vector<int> v( a, a + sizeof( a ) / sizeof( a[0] ) );

动态添加就只有用push_back了

楼下说的对,我都快忘了。可以用resize预置vector的容量,这样就能免除push_back由于空间超过默认分配的定量内存时而重分配更大的一块新空间并把原内容重新拷过去所带来的效率损失,vector内部自动维护了一块定量的内存,这个空间可以用capacity()方法查看。
全部回答
续LS所说,也可以用resize(),比如v.resize(10),数组大小就变成了10,push_back的效率是不高,因为中间会有拓展2倍大小的过程.
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
求足彩各种玩法规则
张家界市永定区中新法律服务所我想知道这个在
分开了以后还要不要做朋友,为什么?
字体太小怎么办,请看明白的回答
银行卡被取款机吞了
大智慧网上交易手续费是多少??
福灵山庄地址有知道的么?有点事想过去
初中毕业有什么好一点的艺术学校????
财务会计毕业论文
那承诺能相信吗?
李记特色鱼粉(涟源店)地址在哪,我要去那里办
白葡萄酒的做法
QQ游戏人生内测怎样获得???
数学函数的题目
为什么吃不下饭?
推荐资讯
3G宠物托管,一小时几GB?
辽宁省建筑设计研究院项目管理咨询公司地址在
N78多媒体键没反应??
本人想买一个诺基亚N78或者5800xm(南昌地区)
睡觉之前吃东西,对身体的坏处
5i弹弹堂的GM声音好水啊~~不知道是哪个GM?
怎样理财?
茗香书苑地址有知道的么?有点事想过去
描述八月的优美句子,求描写桃花的诗句,段落
文山县兴发矿业有限责任公司地址有知道的么?
我们年轻人怎么样才能发财?
时家圩在哪里啊,我有事要去这个地方
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?