STL详解
来源:互联网 发布:淘宝助理菜鸟模板设置 编辑:程序博客网 时间:2024/06/07 00:55
1.迭代器
(1)正向迭代器 : 容器类名::iterator 迭代器名;
(2)常量正向迭代器
(3)反向迭代器
(4)常量反向迭代器
举例:
#include "iostream"#include "vector"using namespace std;int main(){vector<int> v;for(int n = 0; n < 5; ++n)v.push_back(n);vector<int>::iterator i;for( i = v.begin(); i!= v.end(); ++i){cout<< *i << " ";*i *= 2;}cout<<endl;vector<int>::reverse_iterator j;for(j = v.rbegin(); j!= v.rend(); j++)cout<< *j << " ";return 0;}
end成员函数返回值是最后一个元素后面的元素。
迭代器功能分类:
不同容器上的迭代器功能有所不同。决定了是否支持STL中的算法。
正向迭代器 ++p p++ *p
双向迭代器 --p p--
随机访问迭代器 p+=i p-=i p+i p-i p[i]两个随机访问迭代器可以用<>=等符号比较
不同容器上的功能:
vector,deque: 随机
list,set,map双向
stack queue priority_queque 不支持迭代器
另外,数组也是容器,数组上的迭代器就是指针,而且是最忌访问迭代器。
算法
copy,remove,random_shuffle.fill.find.count_if
STL算法中只用<比较大小
顺序容器:
vector
访问较快,插入删除慢
- STL 详解
- STL详解
- STL详解
- STL详解
- STL详解
- STL详解
- STL 详解
- STL详解
- map-STL用法详解
- map - STL 用法详解
- STL MAP用法详解
- STL Map详解
- STL map使用详解
- 深入详解STL算法
- STL set详解
- STL map用法详解
- STL MAP用法详解
- STL map 用法详解
- 深入 理解 Statement 和 PreparedStatement
- Bug 11775332 - cluvfy fails with PRVF-5636 with DNS response timeout error [ID 11775332.8]
- osgi
- snd_kcontrol_new名称中的SOURCE字段
- QQ空间技术架构之深刻揭密
- STL详解
- 设计模式之五:单例模式
- Redis命令总结
- android之调用webservice 实现图片上传
- Ubuntu 12.04中文输入法的安装
- Codeforces Round #111 (Div. 2) A题
- 位图排序概要 编程珠玑(第一章)-----学习笔记
- AIR开发iOS如何打开内嵌HTML窗口
- 文件夹访问被拒绝