原文出处:http://blog.csdn.net/chenzhenyu123456/article/details/44519943
栈:
(一)头文件 #include<stack>
(二)定义栈 stack<int>s;
(三)使用
1 : s.empty() 栈为空返回true,否则返回false;
2 : s.size() 返回栈中元素的个数
3 : s.pop() 删除栈顶元素但不返回其值
4 : s.top() 返回栈顶的元素,但不删除该元素
5 : s.push() 在栈顶压入新元素
队列:
(一)头文件 #include<queue>
(二)定义 queue<int>q;
(三)使用
1 : q.empty() 如果队列为空返回true,否则返回false;
2 : q.size() 返回队列中元素的个数
3 : q.pop() 删除队列首元素但不返回其值
4 : q.front() 返回队首元素的值,但不删除该元素
5 : q.push() 在队尾压入新元素
6 : q.back() 返回队列尾元素的值,但不删除该元素
优先队列:
priority_queue<int> qi;//普通的优先级队列,按从大到小排序
priority_queue<int, vector<int>, greater<int> > qi2;//从小到大的优先级队列,可将greater改为less,即为从大到小