下面对advance()算法应用于不同容器进行测试,advance支持所有标准容器。

//STL---advance()测试
#include<set>
#include<vector>
#include<list>
#include<deque>
#include<map>
#include<algorithm>
#include<iterator>
#include<iostream>
#include<string>using namespace std;int main()
{//vector测试vector<int> coll;for(int i=0;i<10;i++){coll.push_back(i);}vector<int>::iterator pos=coll.begin();copy(coll.begin(),coll.end(),ostream_iterator<int>(cout," "));cout<<endl;advance(pos,3);//相当于 pos+=n;  而pos+=0;为第一个元素cout<<*pos<<endl;//deque测试deque<int> coll1;for(int i=0;i<10;i++){coll1.push_front(i);}deque<int>::iterator pos1=coll1.begin();copy(coll1.begin(),coll1.end(),ostream_iterator<int>(cout," "));cout<<endl;advance(pos1,3);cout<<*pos1<<endl;//相当于 pos1+=n;  而pos1+=0;为第一个元素//list测试list<int> coll2;for(int i=1;i<20;i+=2){coll2.push_back(i);}list<int>::iterator pos2=coll2.begin();copy(coll2.begin(),coll2.end(),ostream_iterator<int>(cout," "));cout<<endl;advance(pos2,4);cout<<*pos2<<endl;//相当于 pos1+=n;  而pos1+=0;为第一个元素set<int> coll3;for(int i=1;i<=20;i+=2){coll3.insert(i);}//set测试set<int>::iterator pos3=coll3.begin();copy(coll3.begin(),coll3.end(),ostream_iterator<int>(cout," "));cout<<endl;advance(pos3,5);cout<<*pos3<<endl;//相当于 pos1+=n;  而pos1+=0;为第一个元素//map测试map<string,float> coll4;coll4["BASF"]=369.50;coll4["VW"]=413.50;coll4["Daimler"]=819.00;coll4["BMW"]=834.00;coll4["Siemens"]=842.20;map<string,float>::iterator pos4;for(pos4=coll4.begin();pos4!=coll4.end();++pos4){cout<<"stock: "<<pos4->first<<"\t"<<"price: "<<pos4->second<<endl;}cout<<endl;map<string,float>::iterator pos5=coll4.begin();advance(pos5,4);cout<<pos5->first<<"\t"<<pos5->second<<endl;system("pause");return 0;
}

C++标准库---advance应用于各容器相关推荐

  1. C++标准库——advance() distance() iter_swap()

    C++标准库--advance() & distance() & iter_swap() 本博客转载自:https://blog.csdn.net/lanzhihui_10086/ar ...

  2. [技术] OIer的C++标准库 : STL入门

    注: 本文主要摘取STL在OI中的常用技巧应用, 所以可能会重点说明容器部分和算法部分, 且不会讨论所有支持的函数/操作并主要讨论 C++11 前支持的特性. 如果需要详细完整的介绍请自行查阅标准文档 ...

  3. 【侯捷】C++STL标准库与泛型编程(第二讲)

    第二讲 应具备的基础 C++基本语法 模板(Template)基础 令你事半功倍 数据结构(Data Structures)和算法(Algorithms)概念 令你如鱼得水 书籍: <Algor ...

  4. C++标准库,框架等资源大汇总!

    C++标准库,框架等资源大汇总! C++ 资源大全 关于 C++ 框架.库和资源的一些汇总列表,内容包括:标准库.Web应用框架.人工智能.数据库.图片处理.机器学习.日志.代码分析等. 标准库 C+ ...

  5. 【侯捷】C++STL标准库与泛型编程(第一讲)

    前言 所谓Generic Programming(GP,泛型编程),就是使用 template(模板)为主要工具来编写程序.本课程第二讲开宗明义阐述了 GP 与 OOP(Object Oriented ...

  6. C++_STL标准库——容器

    C++_STL标准库--容器 参考:cplusplus.com - The C++ Resources Network,VC2019,<C++primer>,<侯捷泛化编程与标准库& ...

  7. C++知识点33——使用C++标准库(无序关联容器unordered_(multi)map,unordered_(multi)set)

    C++中,无序关联容器一共有4个,unordered_map,unordered_set,unordered_multimap,unordered_multiset 这四个和有序关联容器最大的区别就是 ...

  8. C++知识点32——使用C++标准库(关联容器set和multiset的初始化,赋值,查找,添加,删除与迭代器失效)

    关联容器map和multimap已经在博客https://blog.csdn.net/Master_Cui/article/details/108690877和https://blog.csdn.ne ...

  9. C++知识点31——使用C++标准库(关联容器multimap及其初始化,赋值,查找,添加,删除与迭代器失效)

    关于关联容器map已经在博客https://blog.csdn.net/Master_Cui/article/details/108690877中介绍完了 multimap和map非常类似,容器中的元 ...

最新文章

  1. class struct
  2. Android canvas.translate
  3. Coursera课程Python for everyone:Quiz: Multi-Table Relational SQL
  4. python各种推导式详解
  5. android 设计qq界面,[考试求助]仿照腾讯QQ应用软件,编写Android程序,登录界面设计...
  6. php intval 运算,PHP Intval 的 8、7 運算 8、7 問題
  7. hdu 1995 汉诺塔
  8. MATLAB实现频数直方图——hist的使用
  9. Java从入门到精通 第13章 抽象类与接口
  10. windows10连接小米耳机Redmi AirDots 2
  11. IDEA 2022 CPU占用100%问题解决
  12. 03-12306验证码文字 识别
  13. 一文搞懂vim复制粘贴
  14. 鼠标计算机无法识别,如何解决usb鼠标和键盘无法识别问题
  15. 微博长图快速排版生成工具
  16. 算法快学笔记(九):红黑二叉树
  17. 国王的金币for循环
  18. 小花经过春雨的一番滋润
  19. VS+OpenCV+VC超详细的配置教程
  20. JavaScript获取时间戳的坑

热门文章

  1. 吝啬的国度-NYOJ
  2. 关于“标准可编程接口”的一些理解
  3. jquery美化插件uniform
  4. 【跟风转一发】清华差生10年奋斗经历
  5. python mathjax_MkDocs和MathJax
  6. RHEL 6 修改网卡名称
  7. styleFlow数学推导
  8. SSL certificate problem: self signed certificate
  9. 技术学习的网站 http://www.runoob.com/
  10. Win7快捷键——最小化窗口