1, stack < int > S;//定义一个名为S的整型栈
S.empty();//检验S是否为空
S.push(i);//整型i入栈
S.top();//访问栈顶元素
S.pop();//栈顶元素出栈
S.size();//求栈内的元素个数
S1.swap(S2);//交换S1和S2中的元素
2,queue < int > Q;//一个名为Q的整型队列
Q.push(i);//将整型i压入队尾
Q.pop();//队首元素出队
Q.front();//取队首元素(第一个进入队列)
Q.back();//取队尾元素(最后一个进入队列)
Q.size();//计算队列中的元素个数
Q.empty();//判断队列是否为空
Q.push_back://在队列最后加入
Q.pop_front://队首元素出队
3,priority_queue 优先队列#
#include
priority_queue q; // 队头最大
priority_queue<int,vector,greater > q; 队头最小
函数 功能
q.top() 获取优先队列中最大的元素(并不删除),其时间复杂度为O(1)O(1)
q.pop() 删除优先队列中最大元素,其时间复杂度为O(logn)O(logn)
q.push(x) 向优先队列中加入元素,其时间复杂度为O(logn)O(logn)
q.empty() 判断优先队列是否为空