STL
- STL-standard template library
目的:
- 提高代码的重复使用度
说明:
-
STL基于C++编写,相当于一个封装好的库
-
SL包括容器和算法两大部分
容器:
常见的容器:
- vector deque list map (set multiset multimap)
实现容器需要满足的条件
-
对元素所进行的操作,内部所有元素都是以拷贝实现(引用无法构成容器)
-
所有元素形成次序(次序指物理地址,顺序指逻辑值顺序)
-
调用者需要确保参数符合要求
根据容器内的数据在输入过程中是否需要将数据排序,将容器分为序列式容器和关系式容器
序列式容器:
- 可序列的群集
关系式容器:
- 已序的群集
序列式容器与关系式容器的优劣:
-
序列式,元素所耗少,搜索慢
-
关系式,元素所耗多,搜索快
常见的容器操作:
size empty swap insert erase clear push_back pop_back
迭代器:
- 用来遍历STL内部全部元素或部分元素的一个对象
- (实现方式可以理解成一个指针行为,指针行为讲的是内存中元素地址不连续,而可以通过指针类似加减的操作实现数据的访问)