迭代器常用用法
来源:互联网 发布:新晨药业医药代表知乎 编辑:程序博客网 时间:2024/06/13 07:40
1. 每一种容器都有自己的迭代器
2. 所有的迭代器接口都是一样的
3. 在整个标准器中,经常使用形参为一对迭代器的构造函数
4. 常用的迭代器操作
*iter(迭代器实际上是一种指针)++iter --iteriter1==iter2 iter1!=iter2
5. vector和deque容器的迭代器的额外操作(这两种容器实际是数组)
iter+n iter-n > >= < <=
6. 迭代器的范围(//一对迭代器)
begin/end first/last
7. 使迭代器失效的容器操作
在对容器操作时可能
#include<iostream>
#include<vector>
#include<deque>
#include<list>//不仅限于这三种,对所有的容器都适用
using namespace std;
int main()
{
vector<int> a;
deque<int> b;
list<int> c;
a.push_back(1);
a.push_back(2);
a.push_back(3);
a.push_back(4);
a.push_back(5);
vector<int>::iterator iter1=a.begin();//begin指向的是第一个
vector<int>::iterator iter1=a.end();//end指向的是最后一个的下一个,
cout<<*iter1<<endl;//1
iter1++;
cout<<*iter1<<endl;//2
iter1--;//1
cout<<endl;
vector<int>::iterator first=a.begin();
vector<int>::iterator last=a.begin();
while(first!=last){//因为指向的是最后一个的下一个,所以这样写很舒服
cout<<*first<<endl;
first++
}
vector<int>::iterator x=a.begin();
vector<int>::iterator m=x+a.size()/2;//只有vector和deque可以用这种方法
cout<<"中间"<<*m<<endl;//注意是*m
return 0;
}
- 迭代器常用用法
- 常用用法
- 反射的常用用法
- 反射的常用用法
- format常用用法
- format常用用法
- jdom1.0常用用法
- VC常用控件用法
- VC常用控件用法
- 常用dig用法
- VIM常用用法进阶
- ps命令常用用法
- DataGridView的常用用法
- 常用压缩软件的用法
- fckeditor常用用法
- expdp的常用用法
- DataGridView 常用用法
- lua 常用的用法
- 关于spring 配置以及整合 mybatis 的一些个人总结
- [Leetcode] 351. Android Unlock Patterns 解题报告
- MP4文件格式详解——元数据moov(一)mvhd box
- 小ho的01串
- 线段树模板
- 迭代器常用用法
- 折半查找
- 8月12日小结
- java 生成条形码 或二维码
- 该谁发球了
- C#异步编程的使用
- 关联分析——FP-growth算法
- [Idea]Idea报错:请使用 -source 7 或更高版本以启用 diamond 运算符
- C++各个容器比较(vector,deque,list,set,map,queue,stack)