STL之迭代器
一、概述:(容器、算法、迭代器)
1、每一种容器都有自己的迭代器;
2、所有的迭代器接口都是一样的;
3、在整个标准库中,经常使用形参为一对迭代器的构造函数;
4、常用的迭代器操作:
*iter、 ++iter、 --iter、 iter1 == iter2, iter1 != iter2;
5、vector和deque容器的迭代器的额外操作:
iter+n, iter-n, >、 >=、 < 、 <=
6、迭代器范围
begin/end, first/last
7、使迭代器失效的容器操作;
是
1 #include <iostream> 2 #include <list> 3 #include <map> 4 #include <deque> 5 #include <list> 6 #include <vector> 7 using namespace std; 8 9 int main() 10 { 11 vector<int> a; 12 deque<int> b; 13 list<int> c; 14 15 a.push_back(1); 16 a.push_back(2); 17 a.push_back(3); 18 a.push_back(4); 19 a.push_back(5); 20 vector<int>::iterator it1 = a.end(); //end()指向最后一个的下一个,它是一个标记 21 22 for(vector<int>::iterator it=a.begin(); it!=a.end();it++){ 23 std::cout << *it << std::endl; 24 } 25 vector<int>::iterator it2 = a.begin() + a.size()/2; 26 std::cout << "中间:" << *it2 << std::endl; 27 28 return 0; 29 }