目录
1.STL是什么
在c++中,STL库非常常见,写很多程序都会用到它,可STL库到底是什么呢?
STL:指标准模板库,其代码可以广义分类为:算法,容器(数据结构)与迭代器。
所以我们在c++用的很多数据结构,例如map,set这些都是STL里面的。
2.STL里的常用容器及其常用函数
在了解了STL以后,再来看一下里面的常用容器。
2.1 map
map:拥有一对一的数据处理能力,其中第一个被称为关键字,而第二个就是与这个关键字所对应的值。
头文件:#include <map>
创建map:map<关键字数据类型,值数据类型> 名称
2.1.1map的函数
begin() 返回指向map头部的迭代器
end() 返回指向map末尾的迭代器
clear() 删除所有元素
count() 返回指定元素出现的次数
empty() 如果map为空则返回true
erase() 删除一个元素
find() 查找一个元素
insert() 插入元素
lower_bound() 返回键值>=给定元素的第一个位置
upper_bound() 返回键值>给定元素的第一个位置
rbegin() 返回一个指向map尾部的逆向迭代器
rend() 返回一个指向map头部的逆向迭代器
size() 返回map中元素的个数
swap() 交换两个map
2.2 vector
vector:简单地说,vector是一个能够存放任意类型的动态数组。
头文件:#include <vector>
创建vector:vector<数据类型> 名称
2.2.1vector的函数
begin() 返回指向vector头部的迭代器
end() 返回指向vector末尾的迭代器
front() 返回当前vector容器中起始元素的引用
back() 返回当前vector容器中末尾元素的引用
push_back 在vector容器尾部添加一个元素
pop_back 删除 vector 中最后一个元素
clear() 删除所有元素
empty() 如果vector为空则返回true
erase() 删除一个元素
insert() 插入元素
size() 返回vector中元素的个数
swap() 交换两个vector
resize() 重新分配vector的大小
reserve 重新分配vector的容量
2.3 queue
queue:一种特殊的线性表,是一种先进先出的数据结构。
头文件:#include <queue>
创建vector:queuer<数据类型> 名称
2.3.1queue的函数
begin() 返回指向queue头部的迭代器
end() 返回指向queue末尾的迭代器
front() 返回当前queue容器中起始元素的引用
back() 返回当前queue容器中末尾元素的引用
empty() 如果queue为空则返回true
pop() 删除一个元素
size() 返回queue中元素的个数
swap() 交换两个queue
2.4 stack
stack:一种运算受限的线性表,是一种先进后出的数据结构。
头文件:#include <stack>
创建vector:stack<数据类型> 名称
2.4.1stack的函数
push() 将元素压入栈顶
pop() 将栈顶元素弹出
top() 返回栈顶元素
empty() 如果stack为空则返回true
size() 返回stack中元素的个数
swap() 交换两个stack
2.5 set
set:就是集合,不会出现重复的内容。
头文件:#include <set>
创建vector:set<数据类型> 名称
2.5.1set的函数
begin() 返回指向set头部的迭代器
end() 返回指向set末尾的迭代器
clear() 删除