c++/oop---STL
STL: Standard Template Library
容器:可容纳各种数据类型的通用数据结构, 是类模板
迭代器:可用于依次存取容器中元素,类似于指针
算法:用来操作容器中的元素的函数模板
1顺序容器:vector, deque,list
2 关联容器:set, multiset, map, multimap
3 容器适配器:stack, queue, priority_queue
相关函数
begin 返回指向容器中第一个元素的迭代器
end 返回指向容器中最后一个元素后面的位置的迭代器、
erase 从容器中删除一个或几个元素
clear 从容器中删除所有元素
front : 返回容器中第一个元素的引用
back : 返回容器中最后一个元素的引用
push_back : 在容器末尾增加新元素
pop_back : 删除容器末尾的元素
erase : 删除迭代器指向的元素 (可能会使该迭代器失效),或删除一个区间,返回被删除元素后面的那个元素的迭代器
迭代器:
类名 ::iterator p;
类名 ::const_iterator p; //只能读,不能写
容器 容器上的迭代器类别
vector 随机访问
deque 随机访问
list 双向
set/multiset 双向
map/multimap 双向
stack 不支持迭代器
queue 不支持迭代器
priority_queue 不支持迭代器
注意到迭代器都是双向的,所以我把反向迭代器删了,没有卵用
算法:
find(v.begin(),v.end(),val)
从[first,last) 中找到第一个等于 val 的,返回迭代器,找不到返回last
sort(first,last)
把[first,last] 排序