各类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);

 

posted @ 2022-07-04 16:27  louis_11  阅读(27)  评论(0编辑  收藏  举报