C++STL概述2——迭代器概述

迭代器概述

  • 用于指向顺序容器和关联容器中的元素
  • 迭代器用法和指针类似
  • 有const和非const两种
  • 通过迭代器可以读取它指向的元素
  • 通过非const迭代器还能修改其指向的元素

定义

容器类名::iterator 变量名;

容器类名::const_iterator 变量名;

*访问迭代器指向的元素: 迭代器变量名

双向迭代器-list,set,map,multimap,multiset

可进行的操作

  • p++、++p
  • p–、--p
  • *p
  • p=p1
  • p==p1,p!=p1

随机访问迭代器-vector,duque

可进行操作

  • 双向迭代器的所有操作
  • 可以加减整数移动:p+=i,p-=i,p+i,p-i
  • p后面的第i个元素的引用:p[i]
  • 参与大小于的判断:pp1,p>=p1,p<=p1

stack,queue,priority_queue 不支持迭代器

  • !!!有些算法,例如sort(),binary_search()需要通过随机访问迭代器来访问容器中的元素,那么list以及关联容器就不支持该算法

算法简介

  • 即一个个函数模板,在头文件

find(区间起点,区间终点,查找值)——查找区间是左闭右开[区间起点,区间终点)

sort()——快速排序算法,复杂度:log(n)

你可能感兴趣的:(c++)