一道笔试题:vector::erase()
2016-05-16 17:49
197 查看
vector::erase():从指定容器删除指定位置的元素或某段范围内的元素
vector::erase()方法有两种重载形式
如下:
iterator erase( iterator _Where);
iterator erase( iterator _First, iterator _Last);
如果是删除指定位置的元素时:
返回值是一个迭代器,指向删除元素下一个元素;
如果是删除某范围内的元素时:返回值也表示一个迭代器,指向最后一个删除元素的下一个元素;
下面这个代码输出的是() :100 300 300 500
在本题中,当 *itor==300成立时,删除第一个值为300的元素,同时itor指向下一个元素(即是第二个值为300的元素),
在for(;;itor++)执行itor,itor指向第三个值为300的元素,进入下一个循环
进入循环满足*itor==300,重复上面的过程,执行完循环,itor执行值为500的元素。
所有整个过程中,只删除了2个值为300的元素。 只删除了第一个和第三个300。
vector::erase():从指定容器删除指定位置的元素或某段范围内的元素
vector::erase()方法有两种重载形式
如下:
iterator erase( iterator _Where);
iterator erase( iterator _First, iterator _Last);
如果是删除指定位置的元素时:
返回值是一个迭代器,指向删除元素下一个元素;
如果是删除某范围内的元素时:返回值也表示一个迭代器,指向最后一个删除元素的下一个元素;
在本题中,当 *itor==300成立时,删除第一个值为300的元素,同时itor指向下一个元素(即是第二个值为300的元素),
在for(;;itor++)执行itor,itor指向第三个值为300的元素,进入下一个循环
进入循环满足*itor==300,重复上面的过程,执行完循环,itor执行值为500的元素。
所有整个过程中,只删除了2个值为300的元素。 只删除了第一个和第三个300。
相关文章推荐
- Intent 打开文件浏览器,返回后得到文件路径
- 347.Top K Frequent Elements
- unity 陀螺仪的脚本
- React Native 实例 - BBC新闻客户端
- Jquery插件实现“点击获取验证码后60秒内禁止重新获取(防刷新)”
- 魅族大数据上云之路
- Cocoapods降低版本及卸载
- winform程序读取和改写配置文件App.config元素的值
- Android中通过scheme实现网页打开App(deep-link)
- 映射文件中主键生成策略的指定
- 正则表达式必须牢记的几个元字符详解(java使用实例)
- 关于新公司所遇到的环境问题的列举
- Android 之优雅代码(一)——巧用assets
- Docker学习二(部署一个可以自由获取环境变量的SpringWeb)
- html中背景图按比例缩放全屏显示
- 终于实现samba可写不可删除
- wamp下Apache2.4.x局域网访问403的解决办法
- Java并发机制深究1-synchronized和volatile
- SpringMVC后台接收list类型的数据的实现方式
- 个人学习-java-集合的遍历