C++学习之STL初理解
来源:互联网 发布:双十一淘宝秒杀怎么弄 编辑:程序博客网 时间:2024/06/05 18:58
一直以来自认为作为程序员不需要去刻意写作记录东西,因为只要会编程写代码即使记不住的东西时间常了之后自然就能耳熟能详。直到最近找工作需要补的东西太多,回忆起之前学的东西时感觉很吃力恨当时没有吃透理解的同时也恨当时没有记笔记和总结,最后思考反省还是自己太懒,懒得去记录一些自以为以后不会忘记的东西,其实不然。希望以后能够坚持写一些东西,第一累积已有的知识,第二可以分享自己的想法。
由于是刚开始自学C++,自己的理解也可能会有偏差,网上有很多关于STL(Standard Template Library)的详解,由于之前没有具体学过C++,直到看了STL后,才知道大学里面学习的数据结构类似于STL里面的容器例如线性表对应的vector和线性链表List等,而类似的算法,如各种排序和查找就是STL中的algorithm,而迭代器类似于指针来用来对容器内容的遍历或走访。
一、STL简介
STL从广义上讲分为三类:算法(algorithm)、容器(container)和迭代器(iterator),容器和算法通过迭代器进行连接。STL详细的说六大组件:容器、算法、迭代器、仿函数、适配器和空间配制器。
1)容器
容器包括序列式容器、适配器容器、关联式容器
容器部分主要由头文件<vector>、<list>、<deque> 、<queue>、<stack>、<set>和<map>组成。
其中vector 为线性连续空间,可动态分别内存空间。
List为数据结构中的线性链表,内存空间不连续通过指针作为迭代器寻找上下节点,每次插入或删除一个元素,就分配或释放一个元素空间。因此List对于空间的运用绝对的精准,一点也不浪费。
queue 为队列,先进先出
stack 为栈 后进后出
关联式容器(Associated containers):元素位置取决于特定的排序准则,和插入顺序无关 ——set、multiset、map、multimap。
- C++学习之STL初理解
- C++STL之map学习
- C++STL之map学习
- 理解c++STL regex_research()
- 初学者学习C++STL之vector容器
- 【C++】【STL】STL学习之旅一:命名空间
- 【C++】【STL】STL学习之旅二:模板
- C指针学习之理解
- STL模板学习之set容器(C/C++)
- C++STL priority_queue 学习
- C++STL学习笔记
- C++STL学习
- C++STL学习
- C++STL学习Pair
- C++stl map学习
- C++STL学习笔记
- C++STL学习经典
- C++STL学习小结
- 深度学习Caffe平台开发环境准备——1.python 引用Matplotlib 显示不出图的解决方案
- 【Tracking】VS2013+matlab2014a环境下编译运行TLD算法
- 简单易用的cookie加密方法
- 构建乘积数组
- Qt在任务栏使程序最小化
- C++学习之STL初理解
- POJ 1094差分约束系统拓扑排序
- 表示数值的字符串
- 深度学习Caffe平台开发环境准备——2.python命令行中import caffe报错的解决方案
- Python-初踏编程之路
- 什么叫做java容器,什么又叫做java框架,有什么严格意义上的划分吗?
- C++面试
- 字符流中第一个不重复
- bat脚本学习