各类STL的使用
stack
stack<int>sta; //定义一个栈sta sta.push(a); //将a入栈 sta.pop(); //将栈顶元素出栈 sta.top(); //访问栈顶元素 sta.empty(); //bool类型,若sta为空返回true,不为空返回false sta.size(); //返回栈的大小 //注意,栈没有自带的清空操作,须要手动清空
queue
queue<int>que; //定义一个队列 que.push(a); //将a入队 que.pop(); //将队首元素出队 que.front(); //访问队首元素 que.size(); //得到que的大小 que.empty(); //bool类型,que为空则返回true,不为空返回false //和栈一样,队列已没有清空函数,须要手动清空
deque
deque<int>deq; deq.push_front(a); deq.push_back(a); deq.pop_front(a); deq.pop_back(a); deq.size(); deq.empty(); deq.clear(); deq.front(); deq.back(); deq[0]; //这里下标从0开始
map
map<int, int>mp; //前面的int是mp的下标,后面的int是mp[~]的值;map在第二个参数处套一个map相当于二维数组 mp[1]; mp.clear(); mp.size(); mp.empty();
priority_queue
priority_queue<int>que; //大根堆 priority_queue<int, vector<int>, greater<int> >que; //小根堆 que.push(a); que.top(); que.size(); que.empty(); que.pop();
pair
pair<int, int>pai; pai.first; pai.second; make_pair(a, b);