1.迭代器(游标)
temp.begin()第一个元素
temp.end()最后一个元素的下一个位置
temp.rbegin()最后一个元素
temp.rend()第一个元素的前面一个位置
2.优先队列
priority_queue<int,vector<int>,greater<int> >q;//越小的整数优先级越大
priority_queue<int,vector<int>,less<int> >q;//越大的整数优先级越大
排序
struct node{
int x,y;
ll v;
bool operator <(const node & obj) const{ //为了排序
return v<obj.v; 大的在前
}
};
3.multimap 一对映pair
multimap<int,int>m;
m.insert(make_pair(1,2));//insert插入一个pair类型
4.list STL 链表
声明: list <int> l;
l.push_back()尾部插入一个节点
l.push_front()头部插入 一个节点
l.empty(); 是否空
l.clear() 清空
l.reverse() 翻转
a.merge(b,greater<int>()); b加到a中,并且b升序
for(list<int>::iterator it=l.begin();it!=l.end();){ 遍历list以及删除当前节点
int a=*it;
if(!bad[a]){
q.push(a);
l.erase(it++); //it++;
}
else it++;
}