向VECTOR的头部添加元素

应注意以下两点:
1:no push_front on vector but we can insert before begin();

2:任何 insert 或 push 操作都可能导致迭代器失效。当编写循
环将元素插入到 vector 或 deque 容器中时,程序必须确保迭

代器在每次循环后都得到更新 


 1 #include <iostream>
 2 #include <vector>
 3  
 4 using namespace std;
 5  
 6 int main()
 7 {
 8 vector<int> v(2,99);
 9 vector<int>::iterator beg=v.begin();
10  
11 for(int i=0;i<10;i++)
12 v.insert(v.begin(),i);
13  
14 for(beg=v.begin();beg!=v.end();beg++)
15 cout<<*beg<<" ";
16  
17 cout<<endl;
18  
19 system("pause");
20 return 0;
21 }

 

转载于:https://www.cnblogs.com/CKboss/archive/2013/04/21/3034185.html

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
C++中,可以使用vector的insert函数在vector头部插入元素。插入元素vector头部的方法是使用insert函数,并将其位置参数设置为begin(),并在val参数中指定要插入的值。以下是一个示例代码: ``` vector<int> c; c.insert(c.begin(), val); ``` 其中,c是vector对象,val是要插入的值。通过将位置参数设置为begin(),可以将元素插入到vector头部。请确保val的类型与vector元素的类型相匹配。 引用提供了一个关于vector插入元素的示例代码,通过insert函数和位置参数,我们可以在任意位置插入元素。而引用提到,vector没有直接提供头插的接口,但可以使用insert函数来实现。由于头插头删的时间复杂度较高,如果经常需要头插头删操作,建议使用list而不是vector。 请注意,使用insert函数插入元素可能会导致迭代器失效。因此,在对vector进行插入操作后,需要小心处理迭代器的有效性,以避免访问失效的迭代器。 希望这个回答能够解决你的问题。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* [【C++vector添加元素](https://blog.csdn.net/weixin_46308081/article/details/118607011)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] - *3* [vector常用接口](https://blog.csdn.net/ych9527/article/details/115366356)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值