STL_Iterator
来源:互联网 发布:无人机源码 编辑:程序博客网 时间:2024/05/21 11:33
迭代器iterator是一个很神奇的东西。
STL的中心思想在于:将数据容器和算法分开,彼此独立设计,最后再以胶合剂(iterator)将他们撮合在一起。
#pragma once#include<algorithm>#include<vector>#include<list>#include<string>void TestVector(){vector<int> v;v.push_back(1);v.push_back(4);v.push_back(3);v.push_back(2);vector<int>::iterator it = v.begin();while (it != v.end()){cout << *it << " ";++it;}cout << endl;//STL排序头文件在algorithmsort(v.begin(), v.end());for (it=v.begin(); it < v.end(); it++){cout << *it << " ";}cout << endl;}void TestList(){list<int> l;l.push_back(1);l.push_back(2);l.push_back(3);l.push_back(4);list<int>::iterator it = l.begin();while (it != l.end()){cout << *it << " ";it++;}cout << endl;//替换函数 replace(l.begin(), l.end(), 3, 4);it = l.begin();while (it != l.end()){cout << *it << " ";it++;}}void Test3(){list<string> ls;ls.push_back("aa");ls.push_back("bb");ls.push_back("cc");ls.push_back("dd");list<string>::iterator it = ls.begin();while (it != ls.end()){cout << *it << " ";++it;}cout << endl;//findit = find(ls.begin(), ls.end(), "aa");//it = find(ls.begin(), ls.end(), "ee"TL);if (it != ls.end())//如果查找失败(不存在),it就会返回ls.end()cout << *it << endl;elsecout << "find false" << endl;}
0 0
- STL_Iterator
- stl_iterator.h
- stl_iterator.h 一
- stl_iterator.h 二
- 《STL源码剖析》-- stl_iterator.h
- STL 源码分析 # stl_iterator & stl_iterator_base #
- 《STL源码剖析》---stl_iterator.h阅读笔记
- Guava Futures异步回调机制源码解析
- [2016/06/25] LeetCode / Java - Day 3 -
- ReactJS学习系列课程(React mixin的使用)
- C++异常对象的传递
- Hadoop开发---经验总结2
- STL_Iterator
- 注册、忘记密码 界面集成语音验证 -2016.06.25
- leveldb代码阅读知识积累3
- J2EE开发:struts2 文件下载
- Mybatis的一个通用的枚举处理器
- Swift - 警告提示框(UIAlertController)的用法
- Autolayout自动布局Masonry初探
- 关于web开发中的一些理解
- 正则表达式