stl 学习笔记13 advance()distance() iter_swap()
2012-06-04 13:50
369 查看
advance 提供给所有的迭代器 Random Access 才有的功能,另迭代器前进,增加的幅度有参数决定。 //iter/advance1.cpp //advance 迭代器前进 //- #include <iostream> #include <list> #include <algorithm> using namespace std; typedef std::list<int> IntList; typedef std::list<int>::iterator IntListIterator; int main(int argc,char** argv) { IntList coll; for(int i = 1;i <= 9; ++i) { coll.push_back(i); } IntListIterator pos = coll.begin(); cout << *pos << endl; advance(pos,3); cout << *pos << endl; advance(pos,-1); cout << *pos << endl; system("pause"); return 0; } //-distance 可处理迭代器之间的距离。 //iter/distance() #include <iostream> #include <list> #include <algorithm> using namespace std; int main() { list<int> coll; for(int i = -3; i <= 9; ++i) { coll.push_back(i); } list<int>::iterator pos; pos = find(coll.begin(), coll.end(), 5); if(pos != coll.end()) { cout << "distance between beginning and 5: " << distance(coll.begin(),pos) <<endl; } else { cout << "5 not found" <<endl; } system("pause"); return 0; } //iter_swap 可以交换两个迭代器所指的内容 //- //iter/swap1.cpp //- #include <iostream> #include <list> #include <algorithm> #include "print.hpp" using namespace std; int main() { list<int> coll; for(int i=1; i<=9; ++i) { coll.push_back(i); } PRINT_ELEMENTS(coll); iter_swap(coll.begin(), ++ coll.begin()); PRINT_ELEMENTS(coll); iter_swap(coll.begin(), -- coll.end()); PRINT_ELEMENTS(coll); system("pause"); return 0; }
相关文章推荐
- 使用迭代器辅助函数advance,distance,iter_swap
- C++ Primer 学习笔记_39_STL实践与分析(13)--multimap与multiset
- STL学习笔记13— —特殊容器priority_queue
- C++标准库---advance()&distance()&iter_swap()
- C++ STL一一迭代器相关辅助函数(advance()、distance()、iter_swap())
- Effective STL学习笔记-条款13|14
- Python 学习笔记13:Python + wsgi + django 配置。坑爹的python3和wsgi不兼容的解决
- STL学习笔记之算法--algorithmn
- Effective C++ 学习笔记(13)
- C++ STL学习笔记四 list双向链表容器
- Linux第二周学习笔记(13)
- OpenCV 2 学习笔记(13): 算法的基本设计模式<4> :使用Model-View-Controller模式创建一个应用程序
- C++学习笔记13-类继承
- 我的OpenCV学习笔记(13):计算直方图,利用查找表拉伸直方图,直方图均衡
- C++学习笔记13,private继承,私有继承(四)
- 【Go学习笔记13】解析yaml
- iOS学习笔记13-网络(二)NSURLSession
- C语言学习笔记(13)
- Java学习笔记13:输出26个字母矩阵
- C++ Primer 学习笔记_31_STL实践与分析(5) --再谈string类型(上)