C++标准模板库STL
1.vector 变长数组
vector<类型名> name
通过下标访问,如name[0]
push_back(x) 在vector后面添加一个元素x
pop_back() 删除vector的尾元素
size() 获得vector中元素的个数
clear() 清空vector中所有元素
insert(it,x) 在it处插入一个元素x
erase(it) 删除it处的元素
erase(a,b) 删除区间[a,b)的元素 左闭右开
2.set 集合 内部自动递增排序且不含重复元素(去重)
set<类型名> name
通过迭代器访问 set<类型名>::iterator it
insert(x) 插入元素x,自动递增排序和去重
find(value) 返回set中对应值为value的迭代器
erase(it) it是所删元素的迭代器
set<int> st st.erase(st.find(100)) //利用find找到100,然后用erase删除它
erase(value) value是所删元素的值
st.erase(100) 删除值为100的元素
st.erase(a,b) 删除[a,b)区间的元素,a,b是迭代器,左闭右开
st.size() 元素的个数
st.clear() 清空
3.map 映射 将任何基本类型映射到任何基本类型
map<类型名1, 类型名2> name 第一个是键的类型,第二个是值的类型
map<string, int> mp
map会以键从小到大的顺序自动排序
map<char, int> mp
mp[‘c’]=20
mp[‘c’] 通过下标访问
map<char, int>::iterator it
it->first it->second 迭代器访问
find(key) 返回键为key的迭代器
erase(it) it是所删元素的迭代器
erase(key) 如erase(‘b’)删除键为b的映射
erase(a, b) [a,b)区间的元素,a,b为迭代器
size() 映射的对数
clear() 清空